package com.attendance.www.hr.entitys;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class AttendanceReportExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public AttendanceReportExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andAttendanceReportIdIsNull() {
            addCriterion("attendance_report_id is null");
            return (Criteria) this;
        }

        public Criteria andAttendanceReportIdIsNotNull() {
            addCriterion("attendance_report_id is not null");
            return (Criteria) this;
        }

        public Criteria andAttendanceReportIdEqualTo(Integer value) {
            addCriterion("attendance_report_id =", value, "attendanceReportId");
            return (Criteria) this;
        }

        public Criteria andAttendanceReportIdNotEqualTo(Integer value) {
            addCriterion("attendance_report_id <>", value, "attendanceReportId");
            return (Criteria) this;
        }

        public Criteria andAttendanceReportIdGreaterThan(Integer value) {
            addCriterion("attendance_report_id >", value, "attendanceReportId");
            return (Criteria) this;
        }

        public Criteria andAttendanceReportIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("attendance_report_id >=", value, "attendanceReportId");
            return (Criteria) this;
        }

        public Criteria andAttendanceReportIdLessThan(Integer value) {
            addCriterion("attendance_report_id <", value, "attendanceReportId");
            return (Criteria) this;
        }

        public Criteria andAttendanceReportIdLessThanOrEqualTo(Integer value) {
            addCriterion("attendance_report_id <=", value, "attendanceReportId");
            return (Criteria) this;
        }

        public Criteria andAttendanceReportIdIn(List<Integer> values) {
            addCriterion("attendance_report_id in", values, "attendanceReportId");
            return (Criteria) this;
        }

        public Criteria andAttendanceReportIdNotIn(List<Integer> values) {
            addCriterion("attendance_report_id not in", values, "attendanceReportId");
            return (Criteria) this;
        }

        public Criteria andAttendanceReportIdBetween(Integer value1, Integer value2) {
            addCriterion("attendance_report_id between", value1, value2, "attendanceReportId");
            return (Criteria) this;
        }

        public Criteria andAttendanceReportIdNotBetween(Integer value1, Integer value2) {
            addCriterion("attendance_report_id not between", value1, value2, "attendanceReportId");
            return (Criteria) this;
        }

        public Criteria andAttendanceReportDateIsNull() {
            addCriterion("attendance_report_date is null");
            return (Criteria) this;
        }

        public Criteria andAttendanceReportDateIsNotNull() {
            addCriterion("attendance_report_date is not null");
            return (Criteria) this;
        }

        public Criteria andAttendanceReportDateEqualTo(Date value) {
            addCriterionForJDBCDate("attendance_report_date =", value, "attendanceReportDate");
            return (Criteria) this;
        }

        public Criteria andAttendanceReportDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("attendance_report_date <>", value, "attendanceReportDate");
            return (Criteria) this;
        }

        public Criteria andAttendanceReportDateGreaterThan(Date value) {
            addCriterionForJDBCDate("attendance_report_date >", value, "attendanceReportDate");
            return (Criteria) this;
        }

        public Criteria andAttendanceReportDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("attendance_report_date >=", value, "attendanceReportDate");
            return (Criteria) this;
        }

        public Criteria andAttendanceReportDateLessThan(Date value) {
            addCriterionForJDBCDate("attendance_report_date <", value, "attendanceReportDate");
            return (Criteria) this;
        }

        public Criteria andAttendanceReportDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("attendance_report_date <=", value, "attendanceReportDate");
            return (Criteria) this;
        }

        public Criteria andAttendanceReportDateIn(List<Date> values) {
            addCriterionForJDBCDate("attendance_report_date in", values, "attendanceReportDate");
            return (Criteria) this;
        }

        public Criteria andAttendanceReportDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("attendance_report_date not in", values, "attendanceReportDate");
            return (Criteria) this;
        }

        public Criteria andAttendanceReportDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("attendance_report_date between", value1, value2, "attendanceReportDate");
            return (Criteria) this;
        }

        public Criteria andAttendanceReportDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("attendance_report_date not between", value1, value2, "attendanceReportDate");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameOneIsNull() {
            addCriterion("deptment_name_one is null");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameOneIsNotNull() {
            addCriterion("deptment_name_one is not null");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameOneEqualTo(String value) {
            addCriterion("deptment_name_one =", value, "deptmentNameOne");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameOneNotEqualTo(String value) {
            addCriterion("deptment_name_one <>", value, "deptmentNameOne");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameOneGreaterThan(String value) {
            addCriterion("deptment_name_one >", value, "deptmentNameOne");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameOneGreaterThanOrEqualTo(String value) {
            addCriterion("deptment_name_one >=", value, "deptmentNameOne");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameOneLessThan(String value) {
            addCriterion("deptment_name_one <", value, "deptmentNameOne");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameOneLessThanOrEqualTo(String value) {
            addCriterion("deptment_name_one <=", value, "deptmentNameOne");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameOneLike(String value) {
            addCriterion("deptment_name_one like", value, "deptmentNameOne");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameOneNotLike(String value) {
            addCriterion("deptment_name_one not like", value, "deptmentNameOne");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameOneIn(List<String> values) {
            addCriterion("deptment_name_one in", values, "deptmentNameOne");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameOneNotIn(List<String> values) {
            addCriterion("deptment_name_one not in", values, "deptmentNameOne");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameOneBetween(String value1, String value2) {
            addCriterion("deptment_name_one between", value1, value2, "deptmentNameOne");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameOneNotBetween(String value1, String value2) {
            addCriterion("deptment_name_one not between", value1, value2, "deptmentNameOne");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameTwoIsNull() {
            addCriterion("deptment_name_two is null");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameTwoIsNotNull() {
            addCriterion("deptment_name_two is not null");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameTwoEqualTo(String value) {
            addCriterion("deptment_name_two =", value, "deptmentNameTwo");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameTwoNotEqualTo(String value) {
            addCriterion("deptment_name_two <>", value, "deptmentNameTwo");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameTwoGreaterThan(String value) {
            addCriterion("deptment_name_two >", value, "deptmentNameTwo");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameTwoGreaterThanOrEqualTo(String value) {
            addCriterion("deptment_name_two >=", value, "deptmentNameTwo");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameTwoLessThan(String value) {
            addCriterion("deptment_name_two <", value, "deptmentNameTwo");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameTwoLessThanOrEqualTo(String value) {
            addCriterion("deptment_name_two <=", value, "deptmentNameTwo");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameTwoLike(String value) {
            addCriterion("deptment_name_two like", value, "deptmentNameTwo");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameTwoNotLike(String value) {
            addCriterion("deptment_name_two not like", value, "deptmentNameTwo");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameTwoIn(List<String> values) {
            addCriterion("deptment_name_two in", values, "deptmentNameTwo");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameTwoNotIn(List<String> values) {
            addCriterion("deptment_name_two not in", values, "deptmentNameTwo");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameTwoBetween(String value1, String value2) {
            addCriterion("deptment_name_two between", value1, value2, "deptmentNameTwo");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameTwoNotBetween(String value1, String value2) {
            addCriterion("deptment_name_two not between", value1, value2, "deptmentNameTwo");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameThreeIsNull() {
            addCriterion("deptment_name_three is null");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameThreeIsNotNull() {
            addCriterion("deptment_name_three is not null");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameThreeEqualTo(String value) {
            addCriterion("deptment_name_three =", value, "deptmentNameThree");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameThreeNotEqualTo(String value) {
            addCriterion("deptment_name_three <>", value, "deptmentNameThree");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameThreeGreaterThan(String value) {
            addCriterion("deptment_name_three >", value, "deptmentNameThree");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameThreeGreaterThanOrEqualTo(String value) {
            addCriterion("deptment_name_three >=", value, "deptmentNameThree");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameThreeLessThan(String value) {
            addCriterion("deptment_name_three <", value, "deptmentNameThree");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameThreeLessThanOrEqualTo(String value) {
            addCriterion("deptment_name_three <=", value, "deptmentNameThree");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameThreeLike(String value) {
            addCriterion("deptment_name_three like", value, "deptmentNameThree");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameThreeNotLike(String value) {
            addCriterion("deptment_name_three not like", value, "deptmentNameThree");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameThreeIn(List<String> values) {
            addCriterion("deptment_name_three in", values, "deptmentNameThree");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameThreeNotIn(List<String> values) {
            addCriterion("deptment_name_three not in", values, "deptmentNameThree");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameThreeBetween(String value1, String value2) {
            addCriterion("deptment_name_three between", value1, value2, "deptmentNameThree");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameThreeNotBetween(String value1, String value2) {
            addCriterion("deptment_name_three not between", value1, value2, "deptmentNameThree");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameFourIsNull() {
            addCriterion("deptment_name_four is null");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameFourIsNotNull() {
            addCriterion("deptment_name_four is not null");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameFourEqualTo(String value) {
            addCriterion("deptment_name_four =", value, "deptmentNameFour");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameFourNotEqualTo(String value) {
            addCriterion("deptment_name_four <>", value, "deptmentNameFour");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameFourGreaterThan(String value) {
            addCriterion("deptment_name_four >", value, "deptmentNameFour");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameFourGreaterThanOrEqualTo(String value) {
            addCriterion("deptment_name_four >=", value, "deptmentNameFour");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameFourLessThan(String value) {
            addCriterion("deptment_name_four <", value, "deptmentNameFour");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameFourLessThanOrEqualTo(String value) {
            addCriterion("deptment_name_four <=", value, "deptmentNameFour");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameFourLike(String value) {
            addCriterion("deptment_name_four like", value, "deptmentNameFour");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameFourNotLike(String value) {
            addCriterion("deptment_name_four not like", value, "deptmentNameFour");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameFourIn(List<String> values) {
            addCriterion("deptment_name_four in", values, "deptmentNameFour");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameFourNotIn(List<String> values) {
            addCriterion("deptment_name_four not in", values, "deptmentNameFour");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameFourBetween(String value1, String value2) {
            addCriterion("deptment_name_four between", value1, value2, "deptmentNameFour");
            return (Criteria) this;
        }

        public Criteria andDeptmentNameFourNotBetween(String value1, String value2) {
            addCriterion("deptment_name_four not between", value1, value2, "deptmentNameFour");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdIsNull() {
            addCriterion("employee_id is null");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdIsNotNull() {
            addCriterion("employee_id is not null");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdEqualTo(Integer value) {
            addCriterion("employee_id =", value, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdNotEqualTo(Integer value) {
            addCriterion("employee_id <>", value, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdGreaterThan(Integer value) {
            addCriterion("employee_id >", value, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("employee_id >=", value, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdLessThan(Integer value) {
            addCriterion("employee_id <", value, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdLessThanOrEqualTo(Integer value) {
            addCriterion("employee_id <=", value, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdIn(List<Integer> values) {
            addCriterion("employee_id in", values, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdNotIn(List<Integer> values) {
            addCriterion("employee_id not in", values, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdBetween(Integer value1, Integer value2) {
            addCriterion("employee_id between", value1, value2, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeIdNotBetween(Integer value1, Integer value2) {
            addCriterion("employee_id not between", value1, value2, "employeeId");
            return (Criteria) this;
        }

        public Criteria andEmployeeNoIsNull() {
            addCriterion("employee_no is null");
            return (Criteria) this;
        }

        public Criteria andEmployeeNoIsNotNull() {
            addCriterion("employee_no is not null");
            return (Criteria) this;
        }

        public Criteria andEmployeeNoEqualTo(String value) {
            addCriterion("employee_no =", value, "employeeNo");
            return (Criteria) this;
        }

        public Criteria andEmployeeNoNotEqualTo(String value) {
            addCriterion("employee_no <>", value, "employeeNo");
            return (Criteria) this;
        }

        public Criteria andEmployeeNoGreaterThan(String value) {
            addCriterion("employee_no >", value, "employeeNo");
            return (Criteria) this;
        }

        public Criteria andEmployeeNoGreaterThanOrEqualTo(String value) {
            addCriterion("employee_no >=", value, "employeeNo");
            return (Criteria) this;
        }

        public Criteria andEmployeeNoLessThan(String value) {
            addCriterion("employee_no <", value, "employeeNo");
            return (Criteria) this;
        }

        public Criteria andEmployeeNoLessThanOrEqualTo(String value) {
            addCriterion("employee_no <=", value, "employeeNo");
            return (Criteria) this;
        }

        public Criteria andEmployeeNoLike(String value) {
            addCriterion("employee_no like", value, "employeeNo");
            return (Criteria) this;
        }

        public Criteria andEmployeeNoNotLike(String value) {
            addCriterion("employee_no not like", value, "employeeNo");
            return (Criteria) this;
        }

        public Criteria andEmployeeNoIn(List<String> values) {
            addCriterion("employee_no in", values, "employeeNo");
            return (Criteria) this;
        }

        public Criteria andEmployeeNoNotIn(List<String> values) {
            addCriterion("employee_no not in", values, "employeeNo");
            return (Criteria) this;
        }

        public Criteria andEmployeeNoBetween(String value1, String value2) {
            addCriterion("employee_no between", value1, value2, "employeeNo");
            return (Criteria) this;
        }

        public Criteria andEmployeeNoNotBetween(String value1, String value2) {
            addCriterion("employee_no not between", value1, value2, "employeeNo");
            return (Criteria) this;
        }

        public Criteria andChineseNameIsNull() {
            addCriterion("chinese_name is null");
            return (Criteria) this;
        }

        public Criteria andChineseNameIsNotNull() {
            addCriterion("chinese_name is not null");
            return (Criteria) this;
        }

        public Criteria andChineseNameEqualTo(String value) {
            addCriterion("chinese_name =", value, "chineseName");
            return (Criteria) this;
        }

        public Criteria andChineseNameNotEqualTo(String value) {
            addCriterion("chinese_name <>", value, "chineseName");
            return (Criteria) this;
        }

        public Criteria andChineseNameGreaterThan(String value) {
            addCriterion("chinese_name >", value, "chineseName");
            return (Criteria) this;
        }

        public Criteria andChineseNameGreaterThanOrEqualTo(String value) {
            addCriterion("chinese_name >=", value, "chineseName");
            return (Criteria) this;
        }

        public Criteria andChineseNameLessThan(String value) {
            addCriterion("chinese_name <", value, "chineseName");
            return (Criteria) this;
        }

        public Criteria andChineseNameLessThanOrEqualTo(String value) {
            addCriterion("chinese_name <=", value, "chineseName");
            return (Criteria) this;
        }

        public Criteria andChineseNameLike(String value) {
            addCriterion("chinese_name like", value, "chineseName");
            return (Criteria) this;
        }

        public Criteria andChineseNameNotLike(String value) {
            addCriterion("chinese_name not like", value, "chineseName");
            return (Criteria) this;
        }

        public Criteria andChineseNameIn(List<String> values) {
            addCriterion("chinese_name in", values, "chineseName");
            return (Criteria) this;
        }

        public Criteria andChineseNameNotIn(List<String> values) {
            addCriterion("chinese_name not in", values, "chineseName");
            return (Criteria) this;
        }

        public Criteria andChineseNameBetween(String value1, String value2) {
            addCriterion("chinese_name between", value1, value2, "chineseName");
            return (Criteria) this;
        }

        public Criteria andChineseNameNotBetween(String value1, String value2) {
            addCriterion("chinese_name not between", value1, value2, "chineseName");
            return (Criteria) this;
        }

        public Criteria andEnglishNameIsNull() {
            addCriterion("english_name is null");
            return (Criteria) this;
        }

        public Criteria andEnglishNameIsNotNull() {
            addCriterion("english_name is not null");
            return (Criteria) this;
        }

        public Criteria andEnglishNameEqualTo(String value) {
            addCriterion("english_name =", value, "englishName");
            return (Criteria) this;
        }

        public Criteria andEnglishNameNotEqualTo(String value) {
            addCriterion("english_name <>", value, "englishName");
            return (Criteria) this;
        }

        public Criteria andEnglishNameGreaterThan(String value) {
            addCriterion("english_name >", value, "englishName");
            return (Criteria) this;
        }

        public Criteria andEnglishNameGreaterThanOrEqualTo(String value) {
            addCriterion("english_name >=", value, "englishName");
            return (Criteria) this;
        }

        public Criteria andEnglishNameLessThan(String value) {
            addCriterion("english_name <", value, "englishName");
            return (Criteria) this;
        }

        public Criteria andEnglishNameLessThanOrEqualTo(String value) {
            addCriterion("english_name <=", value, "englishName");
            return (Criteria) this;
        }

        public Criteria andEnglishNameLike(String value) {
            addCriterion("english_name like", value, "englishName");
            return (Criteria) this;
        }

        public Criteria andEnglishNameNotLike(String value) {
            addCriterion("english_name not like", value, "englishName");
            return (Criteria) this;
        }

        public Criteria andEnglishNameIn(List<String> values) {
            addCriterion("english_name in", values, "englishName");
            return (Criteria) this;
        }

        public Criteria andEnglishNameNotIn(List<String> values) {
            addCriterion("english_name not in", values, "englishName");
            return (Criteria) this;
        }

        public Criteria andEnglishNameBetween(String value1, String value2) {
            addCriterion("english_name between", value1, value2, "englishName");
            return (Criteria) this;
        }

        public Criteria andEnglishNameNotBetween(String value1, String value2) {
            addCriterion("english_name not between", value1, value2, "englishName");
            return (Criteria) this;
        }

        public Criteria andRoleNameIsNull() {
            addCriterion("role_name is null");
            return (Criteria) this;
        }

        public Criteria andRoleNameIsNotNull() {
            addCriterion("role_name is not null");
            return (Criteria) this;
        }

        public Criteria andRoleNameEqualTo(String value) {
            addCriterion("role_name =", value, "roleName");
            return (Criteria) this;
        }

        public Criteria andRoleNameNotEqualTo(String value) {
            addCriterion("role_name <>", value, "roleName");
            return (Criteria) this;
        }

        public Criteria andRoleNameGreaterThan(String value) {
            addCriterion("role_name >", value, "roleName");
            return (Criteria) this;
        }

        public Criteria andRoleNameGreaterThanOrEqualTo(String value) {
            addCriterion("role_name >=", value, "roleName");
            return (Criteria) this;
        }

        public Criteria andRoleNameLessThan(String value) {
            addCriterion("role_name <", value, "roleName");
            return (Criteria) this;
        }

        public Criteria andRoleNameLessThanOrEqualTo(String value) {
            addCriterion("role_name <=", value, "roleName");
            return (Criteria) this;
        }

        public Criteria andRoleNameLike(String value) {
            addCriterion("role_name like", value, "roleName");
            return (Criteria) this;
        }

        public Criteria andRoleNameNotLike(String value) {
            addCriterion("role_name not like", value, "roleName");
            return (Criteria) this;
        }

        public Criteria andRoleNameIn(List<String> values) {
            addCriterion("role_name in", values, "roleName");
            return (Criteria) this;
        }

        public Criteria andRoleNameNotIn(List<String> values) {
            addCriterion("role_name not in", values, "roleName");
            return (Criteria) this;
        }

        public Criteria andRoleNameBetween(String value1, String value2) {
            addCriterion("role_name between", value1, value2, "roleName");
            return (Criteria) this;
        }

        public Criteria andRoleNameNotBetween(String value1, String value2) {
            addCriterion("role_name not between", value1, value2, "roleName");
            return (Criteria) this;
        }

        public Criteria andEntryDateIsNull() {
            addCriterion("entry_date is null");
            return (Criteria) this;
        }

        public Criteria andEntryDateIsNotNull() {
            addCriterion("entry_date is not null");
            return (Criteria) this;
        }

        public Criteria andEntryDateEqualTo(Date value) {
            addCriterionForJDBCDate("entry_date =", value, "entryDate");
            return (Criteria) this;
        }

        public Criteria andEntryDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("entry_date <>", value, "entryDate");
            return (Criteria) this;
        }

        public Criteria andEntryDateGreaterThan(Date value) {
            addCriterionForJDBCDate("entry_date >", value, "entryDate");
            return (Criteria) this;
        }

        public Criteria andEntryDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("entry_date >=", value, "entryDate");
            return (Criteria) this;
        }

        public Criteria andEntryDateLessThan(Date value) {
            addCriterionForJDBCDate("entry_date <", value, "entryDate");
            return (Criteria) this;
        }

        public Criteria andEntryDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("entry_date <=", value, "entryDate");
            return (Criteria) this;
        }

        public Criteria andEntryDateIn(List<Date> values) {
            addCriterionForJDBCDate("entry_date in", values, "entryDate");
            return (Criteria) this;
        }

        public Criteria andEntryDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("entry_date not in", values, "entryDate");
            return (Criteria) this;
        }

        public Criteria andEntryDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("entry_date between", value1, value2, "entryDate");
            return (Criteria) this;
        }

        public Criteria andEntryDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("entry_date not between", value1, value2, "entryDate");
            return (Criteria) this;
        }

        public Criteria andEmployeeSeparatedDateIsNull() {
            addCriterion("employee_separated_date is null");
            return (Criteria) this;
        }

        public Criteria andEmployeeSeparatedDateIsNotNull() {
            addCriterion("employee_separated_date is not null");
            return (Criteria) this;
        }

        public Criteria andEmployeeSeparatedDateEqualTo(Date value) {
            addCriterionForJDBCDate("employee_separated_date =", value, "employeeSeparatedDate");
            return (Criteria) this;
        }

        public Criteria andEmployeeSeparatedDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("employee_separated_date <>", value, "employeeSeparatedDate");
            return (Criteria) this;
        }

        public Criteria andEmployeeSeparatedDateGreaterThan(Date value) {
            addCriterionForJDBCDate("employee_separated_date >", value, "employeeSeparatedDate");
            return (Criteria) this;
        }

        public Criteria andEmployeeSeparatedDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("employee_separated_date >=", value, "employeeSeparatedDate");
            return (Criteria) this;
        }

        public Criteria andEmployeeSeparatedDateLessThan(Date value) {
            addCriterionForJDBCDate("employee_separated_date <", value, "employeeSeparatedDate");
            return (Criteria) this;
        }

        public Criteria andEmployeeSeparatedDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("employee_separated_date <=", value, "employeeSeparatedDate");
            return (Criteria) this;
        }

        public Criteria andEmployeeSeparatedDateIn(List<Date> values) {
            addCriterionForJDBCDate("employee_separated_date in", values, "employeeSeparatedDate");
            return (Criteria) this;
        }

        public Criteria andEmployeeSeparatedDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("employee_separated_date not in", values, "employeeSeparatedDate");
            return (Criteria) this;
        }

        public Criteria andEmployeeSeparatedDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("employee_separated_date between", value1, value2, "employeeSeparatedDate");
            return (Criteria) this;
        }

        public Criteria andEmployeeSeparatedDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("employee_separated_date not between", value1, value2, "employeeSeparatedDate");
            return (Criteria) this;
        }

        public Criteria andBeAttendanceDaysIsNull() {
            addCriterion("be_attendance_days is null");
            return (Criteria) this;
        }

        public Criteria andBeAttendanceDaysIsNotNull() {
            addCriterion("be_attendance_days is not null");
            return (Criteria) this;
        }

        public Criteria andBeAttendanceDaysEqualTo(Integer value) {
            addCriterion("be_attendance_days =", value, "beAttendanceDays");
            return (Criteria) this;
        }

        public Criteria andBeAttendanceDaysNotEqualTo(Integer value) {
            addCriterion("be_attendance_days <>", value, "beAttendanceDays");
            return (Criteria) this;
        }

        public Criteria andBeAttendanceDaysGreaterThan(Integer value) {
            addCriterion("be_attendance_days >", value, "beAttendanceDays");
            return (Criteria) this;
        }

        public Criteria andBeAttendanceDaysGreaterThanOrEqualTo(Integer value) {
            addCriterion("be_attendance_days >=", value, "beAttendanceDays");
            return (Criteria) this;
        }

        public Criteria andBeAttendanceDaysLessThan(Integer value) {
            addCriterion("be_attendance_days <", value, "beAttendanceDays");
            return (Criteria) this;
        }

        public Criteria andBeAttendanceDaysLessThanOrEqualTo(Integer value) {
            addCriterion("be_attendance_days <=", value, "beAttendanceDays");
            return (Criteria) this;
        }

        public Criteria andBeAttendanceDaysIn(List<Integer> values) {
            addCriterion("be_attendance_days in", values, "beAttendanceDays");
            return (Criteria) this;
        }

        public Criteria andBeAttendanceDaysNotIn(List<Integer> values) {
            addCriterion("be_attendance_days not in", values, "beAttendanceDays");
            return (Criteria) this;
        }

        public Criteria andBeAttendanceDaysBetween(Integer value1, Integer value2) {
            addCriterion("be_attendance_days between", value1, value2, "beAttendanceDays");
            return (Criteria) this;
        }

        public Criteria andBeAttendanceDaysNotBetween(Integer value1, Integer value2) {
            addCriterion("be_attendance_days not between", value1, value2, "beAttendanceDays");
            return (Criteria) this;
        }

        public Criteria andLateCountIsNull() {
            addCriterion("late_count is null");
            return (Criteria) this;
        }

        public Criteria andLateCountIsNotNull() {
            addCriterion("late_count is not null");
            return (Criteria) this;
        }

        public Criteria andLateCountEqualTo(Integer value) {
            addCriterion("late_count =", value, "lateCount");
            return (Criteria) this;
        }

        public Criteria andLateCountNotEqualTo(Integer value) {
            addCriterion("late_count <>", value, "lateCount");
            return (Criteria) this;
        }

        public Criteria andLateCountGreaterThan(Integer value) {
            addCriterion("late_count >", value, "lateCount");
            return (Criteria) this;
        }

        public Criteria andLateCountGreaterThanOrEqualTo(Integer value) {
            addCriterion("late_count >=", value, "lateCount");
            return (Criteria) this;
        }

        public Criteria andLateCountLessThan(Integer value) {
            addCriterion("late_count <", value, "lateCount");
            return (Criteria) this;
        }

        public Criteria andLateCountLessThanOrEqualTo(Integer value) {
            addCriterion("late_count <=", value, "lateCount");
            return (Criteria) this;
        }

        public Criteria andLateCountIn(List<Integer> values) {
            addCriterion("late_count in", values, "lateCount");
            return (Criteria) this;
        }

        public Criteria andLateCountNotIn(List<Integer> values) {
            addCriterion("late_count not in", values, "lateCount");
            return (Criteria) this;
        }

        public Criteria andLateCountBetween(Integer value1, Integer value2) {
            addCriterion("late_count between", value1, value2, "lateCount");
            return (Criteria) this;
        }

        public Criteria andLateCountNotBetween(Integer value1, Integer value2) {
            addCriterion("late_count not between", value1, value2, "lateCount");
            return (Criteria) this;
        }

        public Criteria andLateMoneyIsNull() {
            addCriterion("late_money is null");
            return (Criteria) this;
        }

        public Criteria andLateMoneyIsNotNull() {
            addCriterion("late_money is not null");
            return (Criteria) this;
        }

        public Criteria andLateMoneyEqualTo(Integer value) {
            addCriterion("late_money =", value, "lateMoney");
            return (Criteria) this;
        }

        public Criteria andLateMoneyNotEqualTo(Integer value) {
            addCriterion("late_money <>", value, "lateMoney");
            return (Criteria) this;
        }

        public Criteria andLateMoneyGreaterThan(Integer value) {
            addCriterion("late_money >", value, "lateMoney");
            return (Criteria) this;
        }

        public Criteria andLateMoneyGreaterThanOrEqualTo(Integer value) {
            addCriterion("late_money >=", value, "lateMoney");
            return (Criteria) this;
        }

        public Criteria andLateMoneyLessThan(Integer value) {
            addCriterion("late_money <", value, "lateMoney");
            return (Criteria) this;
        }

        public Criteria andLateMoneyLessThanOrEqualTo(Integer value) {
            addCriterion("late_money <=", value, "lateMoney");
            return (Criteria) this;
        }

        public Criteria andLateMoneyIn(List<Integer> values) {
            addCriterion("late_money in", values, "lateMoney");
            return (Criteria) this;
        }

        public Criteria andLateMoneyNotIn(List<Integer> values) {
            addCriterion("late_money not in", values, "lateMoney");
            return (Criteria) this;
        }

        public Criteria andLateMoneyBetween(Integer value1, Integer value2) {
            addCriterion("late_money between", value1, value2, "lateMoney");
            return (Criteria) this;
        }

        public Criteria andLateMoneyNotBetween(Integer value1, Integer value2) {
            addCriterion("late_money not between", value1, value2, "lateMoney");
            return (Criteria) this;
        }

        public Criteria andLeaveEarlyCountIsNull() {
            addCriterion("leave_early_count is null");
            return (Criteria) this;
        }

        public Criteria andLeaveEarlyCountIsNotNull() {
            addCriterion("leave_early_count is not null");
            return (Criteria) this;
        }

        public Criteria andLeaveEarlyCountEqualTo(Integer value) {
            addCriterion("leave_early_count =", value, "leaveEarlyCount");
            return (Criteria) this;
        }

        public Criteria andLeaveEarlyCountNotEqualTo(Integer value) {
            addCriterion("leave_early_count <>", value, "leaveEarlyCount");
            return (Criteria) this;
        }

        public Criteria andLeaveEarlyCountGreaterThan(Integer value) {
            addCriterion("leave_early_count >", value, "leaveEarlyCount");
            return (Criteria) this;
        }

        public Criteria andLeaveEarlyCountGreaterThanOrEqualTo(Integer value) {
            addCriterion("leave_early_count >=", value, "leaveEarlyCount");
            return (Criteria) this;
        }

        public Criteria andLeaveEarlyCountLessThan(Integer value) {
            addCriterion("leave_early_count <", value, "leaveEarlyCount");
            return (Criteria) this;
        }

        public Criteria andLeaveEarlyCountLessThanOrEqualTo(Integer value) {
            addCriterion("leave_early_count <=", value, "leaveEarlyCount");
            return (Criteria) this;
        }

        public Criteria andLeaveEarlyCountIn(List<Integer> values) {
            addCriterion("leave_early_count in", values, "leaveEarlyCount");
            return (Criteria) this;
        }

        public Criteria andLeaveEarlyCountNotIn(List<Integer> values) {
            addCriterion("leave_early_count not in", values, "leaveEarlyCount");
            return (Criteria) this;
        }

        public Criteria andLeaveEarlyCountBetween(Integer value1, Integer value2) {
            addCriterion("leave_early_count between", value1, value2, "leaveEarlyCount");
            return (Criteria) this;
        }

        public Criteria andLeaveEarlyCountNotBetween(Integer value1, Integer value2) {
            addCriterion("leave_early_count not between", value1, value2, "leaveEarlyCount");
            return (Criteria) this;
        }

        public Criteria andLeaveEarlyMoneyIsNull() {
            addCriterion("leave_early_money is null");
            return (Criteria) this;
        }

        public Criteria andLeaveEarlyMoneyIsNotNull() {
            addCriterion("leave_early_money is not null");
            return (Criteria) this;
        }

        public Criteria andLeaveEarlyMoneyEqualTo(Integer value) {
            addCriterion("leave_early_money =", value, "leaveEarlyMoney");
            return (Criteria) this;
        }

        public Criteria andLeaveEarlyMoneyNotEqualTo(Integer value) {
            addCriterion("leave_early_money <>", value, "leaveEarlyMoney");
            return (Criteria) this;
        }

        public Criteria andLeaveEarlyMoneyGreaterThan(Integer value) {
            addCriterion("leave_early_money >", value, "leaveEarlyMoney");
            return (Criteria) this;
        }

        public Criteria andLeaveEarlyMoneyGreaterThanOrEqualTo(Integer value) {
            addCriterion("leave_early_money >=", value, "leaveEarlyMoney");
            return (Criteria) this;
        }

        public Criteria andLeaveEarlyMoneyLessThan(Integer value) {
            addCriterion("leave_early_money <", value, "leaveEarlyMoney");
            return (Criteria) this;
        }

        public Criteria andLeaveEarlyMoneyLessThanOrEqualTo(Integer value) {
            addCriterion("leave_early_money <=", value, "leaveEarlyMoney");
            return (Criteria) this;
        }

        public Criteria andLeaveEarlyMoneyIn(List<Integer> values) {
            addCriterion("leave_early_money in", values, "leaveEarlyMoney");
            return (Criteria) this;
        }

        public Criteria andLeaveEarlyMoneyNotIn(List<Integer> values) {
            addCriterion("leave_early_money not in", values, "leaveEarlyMoney");
            return (Criteria) this;
        }

        public Criteria andLeaveEarlyMoneyBetween(Integer value1, Integer value2) {
            addCriterion("leave_early_money between", value1, value2, "leaveEarlyMoney");
            return (Criteria) this;
        }

        public Criteria andLeaveEarlyMoneyNotBetween(Integer value1, Integer value2) {
            addCriterion("leave_early_money not between", value1, value2, "leaveEarlyMoney");
            return (Criteria) this;
        }

        public Criteria andAbsentCountIsNull() {
            addCriterion("absent_count is null");
            return (Criteria) this;
        }

        public Criteria andAbsentCountIsNotNull() {
            addCriterion("absent_count is not null");
            return (Criteria) this;
        }

        public Criteria andAbsentCountEqualTo(Integer value) {
            addCriterion("absent_count =", value, "absentCount");
            return (Criteria) this;
        }

        public Criteria andAbsentCountNotEqualTo(Integer value) {
            addCriterion("absent_count <>", value, "absentCount");
            return (Criteria) this;
        }

        public Criteria andAbsentCountGreaterThan(Integer value) {
            addCriterion("absent_count >", value, "absentCount");
            return (Criteria) this;
        }

        public Criteria andAbsentCountGreaterThanOrEqualTo(Integer value) {
            addCriterion("absent_count >=", value, "absentCount");
            return (Criteria) this;
        }

        public Criteria andAbsentCountLessThan(Integer value) {
            addCriterion("absent_count <", value, "absentCount");
            return (Criteria) this;
        }

        public Criteria andAbsentCountLessThanOrEqualTo(Integer value) {
            addCriterion("absent_count <=", value, "absentCount");
            return (Criteria) this;
        }

        public Criteria andAbsentCountIn(List<Integer> values) {
            addCriterion("absent_count in", values, "absentCount");
            return (Criteria) this;
        }

        public Criteria andAbsentCountNotIn(List<Integer> values) {
            addCriterion("absent_count not in", values, "absentCount");
            return (Criteria) this;
        }

        public Criteria andAbsentCountBetween(Integer value1, Integer value2) {
            addCriterion("absent_count between", value1, value2, "absentCount");
            return (Criteria) this;
        }

        public Criteria andAbsentCountNotBetween(Integer value1, Integer value2) {
            addCriterion("absent_count not between", value1, value2, "absentCount");
            return (Criteria) this;
        }

        public Criteria andRetroactiveCountIsNull() {
            addCriterion("retroactive_count is null");
            return (Criteria) this;
        }

        public Criteria andRetroactiveCountIsNotNull() {
            addCriterion("retroactive_count is not null");
            return (Criteria) this;
        }

        public Criteria andRetroactiveCountEqualTo(Integer value) {
            addCriterion("retroactive_count =", value, "retroactiveCount");
            return (Criteria) this;
        }

        public Criteria andRetroactiveCountNotEqualTo(Integer value) {
            addCriterion("retroactive_count <>", value, "retroactiveCount");
            return (Criteria) this;
        }

        public Criteria andRetroactiveCountGreaterThan(Integer value) {
            addCriterion("retroactive_count >", value, "retroactiveCount");
            return (Criteria) this;
        }

        public Criteria andRetroactiveCountGreaterThanOrEqualTo(Integer value) {
            addCriterion("retroactive_count >=", value, "retroactiveCount");
            return (Criteria) this;
        }

        public Criteria andRetroactiveCountLessThan(Integer value) {
            addCriterion("retroactive_count <", value, "retroactiveCount");
            return (Criteria) this;
        }

        public Criteria andRetroactiveCountLessThanOrEqualTo(Integer value) {
            addCriterion("retroactive_count <=", value, "retroactiveCount");
            return (Criteria) this;
        }

        public Criteria andRetroactiveCountIn(List<Integer> values) {
            addCriterion("retroactive_count in", values, "retroactiveCount");
            return (Criteria) this;
        }

        public Criteria andRetroactiveCountNotIn(List<Integer> values) {
            addCriterion("retroactive_count not in", values, "retroactiveCount");
            return (Criteria) this;
        }

        public Criteria andRetroactiveCountBetween(Integer value1, Integer value2) {
            addCriterion("retroactive_count between", value1, value2, "retroactiveCount");
            return (Criteria) this;
        }

        public Criteria andRetroactiveCountNotBetween(Integer value1, Integer value2) {
            addCriterion("retroactive_count not between", value1, value2, "retroactiveCount");
            return (Criteria) this;
        }

        public Criteria andOvertimeNomalIsNull() {
            addCriterion("overtime_nomal is null");
            return (Criteria) this;
        }

        public Criteria andOvertimeNomalIsNotNull() {
            addCriterion("overtime_nomal is not null");
            return (Criteria) this;
        }

        public Criteria andOvertimeNomalEqualTo(Float value) {
            addCriterion("overtime_nomal =", value, "overtimeNomal");
            return (Criteria) this;
        }

        public Criteria andOvertimeNomalNotEqualTo(Float value) {
            addCriterion("overtime_nomal <>", value, "overtimeNomal");
            return (Criteria) this;
        }

        public Criteria andOvertimeNomalGreaterThan(Float value) {
            addCriterion("overtime_nomal >", value, "overtimeNomal");
            return (Criteria) this;
        }

        public Criteria andOvertimeNomalGreaterThanOrEqualTo(Float value) {
            addCriterion("overtime_nomal >=", value, "overtimeNomal");
            return (Criteria) this;
        }

        public Criteria andOvertimeNomalLessThan(Float value) {
            addCriterion("overtime_nomal <", value, "overtimeNomal");
            return (Criteria) this;
        }

        public Criteria andOvertimeNomalLessThanOrEqualTo(Float value) {
            addCriterion("overtime_nomal <=", value, "overtimeNomal");
            return (Criteria) this;
        }

        public Criteria andOvertimeNomalIn(List<Float> values) {
            addCriterion("overtime_nomal in", values, "overtimeNomal");
            return (Criteria) this;
        }

        public Criteria andOvertimeNomalNotIn(List<Float> values) {
            addCriterion("overtime_nomal not in", values, "overtimeNomal");
            return (Criteria) this;
        }

        public Criteria andOvertimeNomalBetween(Float value1, Float value2) {
            addCriterion("overtime_nomal between", value1, value2, "overtimeNomal");
            return (Criteria) this;
        }

        public Criteria andOvertimeNomalNotBetween(Float value1, Float value2) {
            addCriterion("overtime_nomal not between", value1, value2, "overtimeNomal");
            return (Criteria) this;
        }

        public Criteria andOvertimeWeekendIsNull() {
            addCriterion("overtime_weekend is null");
            return (Criteria) this;
        }

        public Criteria andOvertimeWeekendIsNotNull() {
            addCriterion("overtime_weekend is not null");
            return (Criteria) this;
        }

        public Criteria andOvertimeWeekendEqualTo(Float value) {
            addCriterion("overtime_weekend =", value, "overtimeWeekend");
            return (Criteria) this;
        }

        public Criteria andOvertimeWeekendNotEqualTo(Float value) {
            addCriterion("overtime_weekend <>", value, "overtimeWeekend");
            return (Criteria) this;
        }

        public Criteria andOvertimeWeekendGreaterThan(Float value) {
            addCriterion("overtime_weekend >", value, "overtimeWeekend");
            return (Criteria) this;
        }

        public Criteria andOvertimeWeekendGreaterThanOrEqualTo(Float value) {
            addCriterion("overtime_weekend >=", value, "overtimeWeekend");
            return (Criteria) this;
        }

        public Criteria andOvertimeWeekendLessThan(Float value) {
            addCriterion("overtime_weekend <", value, "overtimeWeekend");
            return (Criteria) this;
        }

        public Criteria andOvertimeWeekendLessThanOrEqualTo(Float value) {
            addCriterion("overtime_weekend <=", value, "overtimeWeekend");
            return (Criteria) this;
        }

        public Criteria andOvertimeWeekendIn(List<Float> values) {
            addCriterion("overtime_weekend in", values, "overtimeWeekend");
            return (Criteria) this;
        }

        public Criteria andOvertimeWeekendNotIn(List<Float> values) {
            addCriterion("overtime_weekend not in", values, "overtimeWeekend");
            return (Criteria) this;
        }

        public Criteria andOvertimeWeekendBetween(Float value1, Float value2) {
            addCriterion("overtime_weekend between", value1, value2, "overtimeWeekend");
            return (Criteria) this;
        }

        public Criteria andOvertimeWeekendNotBetween(Float value1, Float value2) {
            addCriterion("overtime_weekend not between", value1, value2, "overtimeWeekend");
            return (Criteria) this;
        }

        public Criteria andOvertimeHolidayIsNull() {
            addCriterion("overtime_holiday is null");
            return (Criteria) this;
        }

        public Criteria andOvertimeHolidayIsNotNull() {
            addCriterion("overtime_holiday is not null");
            return (Criteria) this;
        }

        public Criteria andOvertimeHolidayEqualTo(Float value) {
            addCriterion("overtime_holiday =", value, "overtimeHoliday");
            return (Criteria) this;
        }

        public Criteria andOvertimeHolidayNotEqualTo(Float value) {
            addCriterion("overtime_holiday <>", value, "overtimeHoliday");
            return (Criteria) this;
        }

        public Criteria andOvertimeHolidayGreaterThan(Float value) {
            addCriterion("overtime_holiday >", value, "overtimeHoliday");
            return (Criteria) this;
        }

        public Criteria andOvertimeHolidayGreaterThanOrEqualTo(Float value) {
            addCriterion("overtime_holiday >=", value, "overtimeHoliday");
            return (Criteria) this;
        }

        public Criteria andOvertimeHolidayLessThan(Float value) {
            addCriterion("overtime_holiday <", value, "overtimeHoliday");
            return (Criteria) this;
        }

        public Criteria andOvertimeHolidayLessThanOrEqualTo(Float value) {
            addCriterion("overtime_holiday <=", value, "overtimeHoliday");
            return (Criteria) this;
        }

        public Criteria andOvertimeHolidayIn(List<Float> values) {
            addCriterion("overtime_holiday in", values, "overtimeHoliday");
            return (Criteria) this;
        }

        public Criteria andOvertimeHolidayNotIn(List<Float> values) {
            addCriterion("overtime_holiday not in", values, "overtimeHoliday");
            return (Criteria) this;
        }

        public Criteria andOvertimeHolidayBetween(Float value1, Float value2) {
            addCriterion("overtime_holiday between", value1, value2, "overtimeHoliday");
            return (Criteria) this;
        }

        public Criteria andOvertimeHolidayNotBetween(Float value1, Float value2) {
            addCriterion("overtime_holiday not between", value1, value2, "overtimeHoliday");
            return (Criteria) this;
        }

        public Criteria andRestYearUsedIsNull() {
            addCriterion("rest_year_used is null");
            return (Criteria) this;
        }

        public Criteria andRestYearUsedIsNotNull() {
            addCriterion("rest_year_used is not null");
            return (Criteria) this;
        }

        public Criteria andRestYearUsedEqualTo(Float value) {
            addCriterion("rest_year_used =", value, "restYearUsed");
            return (Criteria) this;
        }

        public Criteria andRestYearUsedNotEqualTo(Float value) {
            addCriterion("rest_year_used <>", value, "restYearUsed");
            return (Criteria) this;
        }

        public Criteria andRestYearUsedGreaterThan(Float value) {
            addCriterion("rest_year_used >", value, "restYearUsed");
            return (Criteria) this;
        }

        public Criteria andRestYearUsedGreaterThanOrEqualTo(Float value) {
            addCriterion("rest_year_used >=", value, "restYearUsed");
            return (Criteria) this;
        }

        public Criteria andRestYearUsedLessThan(Float value) {
            addCriterion("rest_year_used <", value, "restYearUsed");
            return (Criteria) this;
        }

        public Criteria andRestYearUsedLessThanOrEqualTo(Float value) {
            addCriterion("rest_year_used <=", value, "restYearUsed");
            return (Criteria) this;
        }

        public Criteria andRestYearUsedIn(List<Float> values) {
            addCriterion("rest_year_used in", values, "restYearUsed");
            return (Criteria) this;
        }

        public Criteria andRestYearUsedNotIn(List<Float> values) {
            addCriterion("rest_year_used not in", values, "restYearUsed");
            return (Criteria) this;
        }

        public Criteria andRestYearUsedBetween(Float value1, Float value2) {
            addCriterion("rest_year_used between", value1, value2, "restYearUsed");
            return (Criteria) this;
        }

        public Criteria andRestYearUsedNotBetween(Float value1, Float value2) {
            addCriterion("rest_year_used not between", value1, value2, "restYearUsed");
            return (Criteria) this;
        }

        public Criteria andRestTuneUsedIsNull() {
            addCriterion("rest_tune_used is null");
            return (Criteria) this;
        }

        public Criteria andRestTuneUsedIsNotNull() {
            addCriterion("rest_tune_used is not null");
            return (Criteria) this;
        }

        public Criteria andRestTuneUsedEqualTo(Float value) {
            addCriterion("rest_tune_used =", value, "restTuneUsed");
            return (Criteria) this;
        }

        public Criteria andRestTuneUsedNotEqualTo(Float value) {
            addCriterion("rest_tune_used <>", value, "restTuneUsed");
            return (Criteria) this;
        }

        public Criteria andRestTuneUsedGreaterThan(Float value) {
            addCriterion("rest_tune_used >", value, "restTuneUsed");
            return (Criteria) this;
        }

        public Criteria andRestTuneUsedGreaterThanOrEqualTo(Float value) {
            addCriterion("rest_tune_used >=", value, "restTuneUsed");
            return (Criteria) this;
        }

        public Criteria andRestTuneUsedLessThan(Float value) {
            addCriterion("rest_tune_used <", value, "restTuneUsed");
            return (Criteria) this;
        }

        public Criteria andRestTuneUsedLessThanOrEqualTo(Float value) {
            addCriterion("rest_tune_used <=", value, "restTuneUsed");
            return (Criteria) this;
        }

        public Criteria andRestTuneUsedIn(List<Float> values) {
            addCriterion("rest_tune_used in", values, "restTuneUsed");
            return (Criteria) this;
        }

        public Criteria andRestTuneUsedNotIn(List<Float> values) {
            addCriterion("rest_tune_used not in", values, "restTuneUsed");
            return (Criteria) this;
        }

        public Criteria andRestTuneUsedBetween(Float value1, Float value2) {
            addCriterion("rest_tune_used between", value1, value2, "restTuneUsed");
            return (Criteria) this;
        }

        public Criteria andRestTuneUsedNotBetween(Float value1, Float value2) {
            addCriterion("rest_tune_used not between", value1, value2, "restTuneUsed");
            return (Criteria) this;
        }

        public Criteria andRestBornUsedIsNull() {
            addCriterion("rest_born_used is null");
            return (Criteria) this;
        }

        public Criteria andRestBornUsedIsNotNull() {
            addCriterion("rest_born_used is not null");
            return (Criteria) this;
        }

        public Criteria andRestBornUsedEqualTo(Integer value) {
            addCriterion("rest_born_used =", value, "restBornUsed");
            return (Criteria) this;
        }

        public Criteria andRestBornUsedNotEqualTo(Integer value) {
            addCriterion("rest_born_used <>", value, "restBornUsed");
            return (Criteria) this;
        }

        public Criteria andRestBornUsedGreaterThan(Integer value) {
            addCriterion("rest_born_used >", value, "restBornUsed");
            return (Criteria) this;
        }

        public Criteria andRestBornUsedGreaterThanOrEqualTo(Integer value) {
            addCriterion("rest_born_used >=", value, "restBornUsed");
            return (Criteria) this;
        }

        public Criteria andRestBornUsedLessThan(Integer value) {
            addCriterion("rest_born_used <", value, "restBornUsed");
            return (Criteria) this;
        }

        public Criteria andRestBornUsedLessThanOrEqualTo(Integer value) {
            addCriterion("rest_born_used <=", value, "restBornUsed");
            return (Criteria) this;
        }

        public Criteria andRestBornUsedIn(List<Integer> values) {
            addCriterion("rest_born_used in", values, "restBornUsed");
            return (Criteria) this;
        }

        public Criteria andRestBornUsedNotIn(List<Integer> values) {
            addCriterion("rest_born_used not in", values, "restBornUsed");
            return (Criteria) this;
        }

        public Criteria andRestBornUsedBetween(Integer value1, Integer value2) {
            addCriterion("rest_born_used between", value1, value2, "restBornUsed");
            return (Criteria) this;
        }

        public Criteria andRestBornUsedNotBetween(Integer value1, Integer value2) {
            addCriterion("rest_born_used not between", value1, value2, "restBornUsed");
            return (Criteria) this;
        }

        public Criteria andRestCheckUsedIsNull() {
            addCriterion("rest_check_used is null");
            return (Criteria) this;
        }

        public Criteria andRestCheckUsedIsNotNull() {
            addCriterion("rest_check_used is not null");
            return (Criteria) this;
        }

        public Criteria andRestCheckUsedEqualTo(Float value) {
            addCriterion("rest_check_used =", value, "restCheckUsed");
            return (Criteria) this;
        }

        public Criteria andRestCheckUsedNotEqualTo(Float value) {
            addCriterion("rest_check_used <>", value, "restCheckUsed");
            return (Criteria) this;
        }

        public Criteria andRestCheckUsedGreaterThan(Float value) {
            addCriterion("rest_check_used >", value, "restCheckUsed");
            return (Criteria) this;
        }

        public Criteria andRestCheckUsedGreaterThanOrEqualTo(Float value) {
            addCriterion("rest_check_used >=", value, "restCheckUsed");
            return (Criteria) this;
        }

        public Criteria andRestCheckUsedLessThan(Float value) {
            addCriterion("rest_check_used <", value, "restCheckUsed");
            return (Criteria) this;
        }

        public Criteria andRestCheckUsedLessThanOrEqualTo(Float value) {
            addCriterion("rest_check_used <=", value, "restCheckUsed");
            return (Criteria) this;
        }

        public Criteria andRestCheckUsedIn(List<Float> values) {
            addCriterion("rest_check_used in", values, "restCheckUsed");
            return (Criteria) this;
        }

        public Criteria andRestCheckUsedNotIn(List<Float> values) {
            addCriterion("rest_check_used not in", values, "restCheckUsed");
            return (Criteria) this;
        }

        public Criteria andRestCheckUsedBetween(Float value1, Float value2) {
            addCriterion("rest_check_used between", value1, value2, "restCheckUsed");
            return (Criteria) this;
        }

        public Criteria andRestCheckUsedNotBetween(Float value1, Float value2) {
            addCriterion("rest_check_used not between", value1, value2, "restCheckUsed");
            return (Criteria) this;
        }

        public Criteria andRestDieUsedIsNull() {
            addCriterion("rest_die_used is null");
            return (Criteria) this;
        }

        public Criteria andRestDieUsedIsNotNull() {
            addCriterion("rest_die_used is not null");
            return (Criteria) this;
        }

        public Criteria andRestDieUsedEqualTo(Integer value) {
            addCriterion("rest_die_used =", value, "restDieUsed");
            return (Criteria) this;
        }

        public Criteria andRestDieUsedNotEqualTo(Integer value) {
            addCriterion("rest_die_used <>", value, "restDieUsed");
            return (Criteria) this;
        }

        public Criteria andRestDieUsedGreaterThan(Integer value) {
            addCriterion("rest_die_used >", value, "restDieUsed");
            return (Criteria) this;
        }

        public Criteria andRestDieUsedGreaterThanOrEqualTo(Integer value) {
            addCriterion("rest_die_used >=", value, "restDieUsed");
            return (Criteria) this;
        }

        public Criteria andRestDieUsedLessThan(Integer value) {
            addCriterion("rest_die_used <", value, "restDieUsed");
            return (Criteria) this;
        }

        public Criteria andRestDieUsedLessThanOrEqualTo(Integer value) {
            addCriterion("rest_die_used <=", value, "restDieUsed");
            return (Criteria) this;
        }

        public Criteria andRestDieUsedIn(List<Integer> values) {
            addCriterion("rest_die_used in", values, "restDieUsed");
            return (Criteria) this;
        }

        public Criteria andRestDieUsedNotIn(List<Integer> values) {
            addCriterion("rest_die_used not in", values, "restDieUsed");
            return (Criteria) this;
        }

        public Criteria andRestDieUsedBetween(Integer value1, Integer value2) {
            addCriterion("rest_die_used between", value1, value2, "restDieUsed");
            return (Criteria) this;
        }

        public Criteria andRestDieUsedNotBetween(Integer value1, Integer value2) {
            addCriterion("rest_die_used not between", value1, value2, "restDieUsed");
            return (Criteria) this;
        }

        public Criteria andRestMarryUsedIsNull() {
            addCriterion("rest_marry_used is null");
            return (Criteria) this;
        }

        public Criteria andRestMarryUsedIsNotNull() {
            addCriterion("rest_marry_used is not null");
            return (Criteria) this;
        }

        public Criteria andRestMarryUsedEqualTo(Integer value) {
            addCriterion("rest_marry_used =", value, "restMarryUsed");
            return (Criteria) this;
        }

        public Criteria andRestMarryUsedNotEqualTo(Integer value) {
            addCriterion("rest_marry_used <>", value, "restMarryUsed");
            return (Criteria) this;
        }

        public Criteria andRestMarryUsedGreaterThan(Integer value) {
            addCriterion("rest_marry_used >", value, "restMarryUsed");
            return (Criteria) this;
        }

        public Criteria andRestMarryUsedGreaterThanOrEqualTo(Integer value) {
            addCriterion("rest_marry_used >=", value, "restMarryUsed");
            return (Criteria) this;
        }

        public Criteria andRestMarryUsedLessThan(Integer value) {
            addCriterion("rest_marry_used <", value, "restMarryUsed");
            return (Criteria) this;
        }

        public Criteria andRestMarryUsedLessThanOrEqualTo(Integer value) {
            addCriterion("rest_marry_used <=", value, "restMarryUsed");
            return (Criteria) this;
        }

        public Criteria andRestMarryUsedIn(List<Integer> values) {
            addCriterion("rest_marry_used in", values, "restMarryUsed");
            return (Criteria) this;
        }

        public Criteria andRestMarryUsedNotIn(List<Integer> values) {
            addCriterion("rest_marry_used not in", values, "restMarryUsed");
            return (Criteria) this;
        }

        public Criteria andRestMarryUsedBetween(Integer value1, Integer value2) {
            addCriterion("rest_marry_used between", value1, value2, "restMarryUsed");
            return (Criteria) this;
        }

        public Criteria andRestMarryUsedNotBetween(Integer value1, Integer value2) {
            addCriterion("rest_marry_used not between", value1, value2, "restMarryUsed");
            return (Criteria) this;
        }

        public Criteria andRestBornAttendUsedIsNull() {
            addCriterion("rest_born_attend_used is null");
            return (Criteria) this;
        }

        public Criteria andRestBornAttendUsedIsNotNull() {
            addCriterion("rest_born_attend_used is not null");
            return (Criteria) this;
        }

        public Criteria andRestBornAttendUsedEqualTo(Integer value) {
            addCriterion("rest_born_attend_used =", value, "restBornAttendUsed");
            return (Criteria) this;
        }

        public Criteria andRestBornAttendUsedNotEqualTo(Integer value) {
            addCriterion("rest_born_attend_used <>", value, "restBornAttendUsed");
            return (Criteria) this;
        }

        public Criteria andRestBornAttendUsedGreaterThan(Integer value) {
            addCriterion("rest_born_attend_used >", value, "restBornAttendUsed");
            return (Criteria) this;
        }

        public Criteria andRestBornAttendUsedGreaterThanOrEqualTo(Integer value) {
            addCriterion("rest_born_attend_used >=", value, "restBornAttendUsed");
            return (Criteria) this;
        }

        public Criteria andRestBornAttendUsedLessThan(Integer value) {
            addCriterion("rest_born_attend_used <", value, "restBornAttendUsed");
            return (Criteria) this;
        }

        public Criteria andRestBornAttendUsedLessThanOrEqualTo(Integer value) {
            addCriterion("rest_born_attend_used <=", value, "restBornAttendUsed");
            return (Criteria) this;
        }

        public Criteria andRestBornAttendUsedIn(List<Integer> values) {
            addCriterion("rest_born_attend_used in", values, "restBornAttendUsed");
            return (Criteria) this;
        }

        public Criteria andRestBornAttendUsedNotIn(List<Integer> values) {
            addCriterion("rest_born_attend_used not in", values, "restBornAttendUsed");
            return (Criteria) this;
        }

        public Criteria andRestBornAttendUsedBetween(Integer value1, Integer value2) {
            addCriterion("rest_born_attend_used between", value1, value2, "restBornAttendUsed");
            return (Criteria) this;
        }

        public Criteria andRestBornAttendUsedNotBetween(Integer value1, Integer value2) {
            addCriterion("rest_born_attend_used not between", value1, value2, "restBornAttendUsed");
            return (Criteria) this;
        }

        public Criteria andRestSuckleUsedIsNull() {
            addCriterion("rest_suckle_used is null");
            return (Criteria) this;
        }

        public Criteria andRestSuckleUsedIsNotNull() {
            addCriterion("rest_suckle_used is not null");
            return (Criteria) this;
        }

        public Criteria andRestSuckleUsedEqualTo(Float value) {
            addCriterion("rest_suckle_used =", value, "restSuckleUsed");
            return (Criteria) this;
        }

        public Criteria andRestSuckleUsedNotEqualTo(Float value) {
            addCriterion("rest_suckle_used <>", value, "restSuckleUsed");
            return (Criteria) this;
        }

        public Criteria andRestSuckleUsedGreaterThan(Float value) {
            addCriterion("rest_suckle_used >", value, "restSuckleUsed");
            return (Criteria) this;
        }

        public Criteria andRestSuckleUsedGreaterThanOrEqualTo(Float value) {
            addCriterion("rest_suckle_used >=", value, "restSuckleUsed");
            return (Criteria) this;
        }

        public Criteria andRestSuckleUsedLessThan(Float value) {
            addCriterion("rest_suckle_used <", value, "restSuckleUsed");
            return (Criteria) this;
        }

        public Criteria andRestSuckleUsedLessThanOrEqualTo(Float value) {
            addCriterion("rest_suckle_used <=", value, "restSuckleUsed");
            return (Criteria) this;
        }

        public Criteria andRestSuckleUsedIn(List<Float> values) {
            addCriterion("rest_suckle_used in", values, "restSuckleUsed");
            return (Criteria) this;
        }

        public Criteria andRestSuckleUsedNotIn(List<Float> values) {
            addCriterion("rest_suckle_used not in", values, "restSuckleUsed");
            return (Criteria) this;
        }

        public Criteria andRestSuckleUsedBetween(Float value1, Float value2) {
            addCriterion("rest_suckle_used between", value1, value2, "restSuckleUsed");
            return (Criteria) this;
        }

        public Criteria andRestSuckleUsedNotBetween(Float value1, Float value2) {
            addCriterion("rest_suckle_used not between", value1, value2, "restSuckleUsed");
            return (Criteria) this;
        }

        public Criteria andRestIllUsedIsNull() {
            addCriterion("rest_ill_used is null");
            return (Criteria) this;
        }

        public Criteria andRestIllUsedIsNotNull() {
            addCriterion("rest_ill_used is not null");
            return (Criteria) this;
        }

        public Criteria andRestIllUsedEqualTo(Float value) {
            addCriterion("rest_ill_used =", value, "restIllUsed");
            return (Criteria) this;
        }

        public Criteria andRestIllUsedNotEqualTo(Float value) {
            addCriterion("rest_ill_used <>", value, "restIllUsed");
            return (Criteria) this;
        }

        public Criteria andRestIllUsedGreaterThan(Float value) {
            addCriterion("rest_ill_used >", value, "restIllUsed");
            return (Criteria) this;
        }

        public Criteria andRestIllUsedGreaterThanOrEqualTo(Float value) {
            addCriterion("rest_ill_used >=", value, "restIllUsed");
            return (Criteria) this;
        }

        public Criteria andRestIllUsedLessThan(Float value) {
            addCriterion("rest_ill_used <", value, "restIllUsed");
            return (Criteria) this;
        }

        public Criteria andRestIllUsedLessThanOrEqualTo(Float value) {
            addCriterion("rest_ill_used <=", value, "restIllUsed");
            return (Criteria) this;
        }

        public Criteria andRestIllUsedIn(List<Float> values) {
            addCriterion("rest_ill_used in", values, "restIllUsed");
            return (Criteria) this;
        }

        public Criteria andRestIllUsedNotIn(List<Float> values) {
            addCriterion("rest_ill_used not in", values, "restIllUsed");
            return (Criteria) this;
        }

        public Criteria andRestIllUsedBetween(Float value1, Float value2) {
            addCriterion("rest_ill_used between", value1, value2, "restIllUsed");
            return (Criteria) this;
        }

        public Criteria andRestIllUsedNotBetween(Float value1, Float value2) {
            addCriterion("rest_ill_used not between", value1, value2, "restIllUsed");
            return (Criteria) this;
        }

        public Criteria andRestThingUsedIsNull() {
            addCriterion("rest_thing_used is null");
            return (Criteria) this;
        }

        public Criteria andRestThingUsedIsNotNull() {
            addCriterion("rest_thing_used is not null");
            return (Criteria) this;
        }

        public Criteria andRestThingUsedEqualTo(Float value) {
            addCriterion("rest_thing_used =", value, "restThingUsed");
            return (Criteria) this;
        }

        public Criteria andRestThingUsedNotEqualTo(Float value) {
            addCriterion("rest_thing_used <>", value, "restThingUsed");
            return (Criteria) this;
        }

        public Criteria andRestThingUsedGreaterThan(Float value) {
            addCriterion("rest_thing_used >", value, "restThingUsed");
            return (Criteria) this;
        }

        public Criteria andRestThingUsedGreaterThanOrEqualTo(Float value) {
            addCriterion("rest_thing_used >=", value, "restThingUsed");
            return (Criteria) this;
        }

        public Criteria andRestThingUsedLessThan(Float value) {
            addCriterion("rest_thing_used <", value, "restThingUsed");
            return (Criteria) this;
        }

        public Criteria andRestThingUsedLessThanOrEqualTo(Float value) {
            addCriterion("rest_thing_used <=", value, "restThingUsed");
            return (Criteria) this;
        }

        public Criteria andRestThingUsedIn(List<Float> values) {
            addCriterion("rest_thing_used in", values, "restThingUsed");
            return (Criteria) this;
        }

        public Criteria andRestThingUsedNotIn(List<Float> values) {
            addCriterion("rest_thing_used not in", values, "restThingUsed");
            return (Criteria) this;
        }

        public Criteria andRestThingUsedBetween(Float value1, Float value2) {
            addCriterion("rest_thing_used between", value1, value2, "restThingUsed");
            return (Criteria) this;
        }

        public Criteria andRestThingUsedNotBetween(Float value1, Float value2) {
            addCriterion("rest_thing_used not between", value1, value2, "restThingUsed");
            return (Criteria) this;
        }

        public Criteria andDescriptionIsNull() {
            addCriterion("description is null");
            return (Criteria) this;
        }

        public Criteria andDescriptionIsNotNull() {
            addCriterion("description is not null");
            return (Criteria) this;
        }

        public Criteria andDescriptionEqualTo(String value) {
            addCriterion("description =", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotEqualTo(String value) {
            addCriterion("description <>", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionGreaterThan(String value) {
            addCriterion("description >", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionGreaterThanOrEqualTo(String value) {
            addCriterion("description >=", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLessThan(String value) {
            addCriterion("description <", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLessThanOrEqualTo(String value) {
            addCriterion("description <=", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLike(String value) {
            addCriterion("description like", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotLike(String value) {
            addCriterion("description not like", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionIn(List<String> values) {
            addCriterion("description in", values, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotIn(List<String> values) {
            addCriterion("description not in", values, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionBetween(String value1, String value2) {
            addCriterion("description between", value1, value2, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotBetween(String value1, String value2) {
            addCriterion("description not between", value1, value2, "description");
            return (Criteria) this;
        }

        public Criteria andLevelIsNull() {
            addCriterion("level is null");
            return (Criteria) this;
        }

        public Criteria andLevelIsNotNull() {
            addCriterion("level is not null");
            return (Criteria) this;
        }

        public Criteria andLevelEqualTo(Integer value) {
            addCriterion("level =", value, "level");
            return (Criteria) this;
        }

        public Criteria andLevelNotEqualTo(Integer value) {
            addCriterion("level <>", value, "level");
            return (Criteria) this;
        }

        public Criteria andLevelGreaterThan(Integer value) {
            addCriterion("level >", value, "level");
            return (Criteria) this;
        }

        public Criteria andLevelGreaterThanOrEqualTo(Integer value) {
            addCriterion("level >=", value, "level");
            return (Criteria) this;
        }

        public Criteria andLevelLessThan(Integer value) {
            addCriterion("level <", value, "level");
            return (Criteria) this;
        }

        public Criteria andLevelLessThanOrEqualTo(Integer value) {
            addCriterion("level <=", value, "level");
            return (Criteria) this;
        }

        public Criteria andLevelIn(List<Integer> values) {
            addCriterion("level in", values, "level");
            return (Criteria) this;
        }

        public Criteria andLevelNotIn(List<Integer> values) {
            addCriterion("level not in", values, "level");
            return (Criteria) this;
        }

        public Criteria andLevelBetween(Integer value1, Integer value2) {
            addCriterion("level between", value1, value2, "level");
            return (Criteria) this;
        }

        public Criteria andLevelNotBetween(Integer value1, Integer value2) {
            addCriterion("level not between", value1, value2, "level");
            return (Criteria) this;
        }

        public Criteria andYearLateCountIsNull() {
            addCriterion("year_late_count is null");
            return (Criteria) this;
        }

        public Criteria andYearLateCountIsNotNull() {
            addCriterion("year_late_count is not null");
            return (Criteria) this;
        }

        public Criteria andYearLateCountEqualTo(Integer value) {
            addCriterion("year_late_count =", value, "yearLateCount");
            return (Criteria) this;
        }

        public Criteria andYearLateCountNotEqualTo(Integer value) {
            addCriterion("year_late_count <>", value, "yearLateCount");
            return (Criteria) this;
        }

        public Criteria andYearLateCountGreaterThan(Integer value) {
            addCriterion("year_late_count >", value, "yearLateCount");
            return (Criteria) this;
        }

        public Criteria andYearLateCountGreaterThanOrEqualTo(Integer value) {
            addCriterion("year_late_count >=", value, "yearLateCount");
            return (Criteria) this;
        }

        public Criteria andYearLateCountLessThan(Integer value) {
            addCriterion("year_late_count <", value, "yearLateCount");
            return (Criteria) this;
        }

        public Criteria andYearLateCountLessThanOrEqualTo(Integer value) {
            addCriterion("year_late_count <=", value, "yearLateCount");
            return (Criteria) this;
        }

        public Criteria andYearLateCountIn(List<Integer> values) {
            addCriterion("year_late_count in", values, "yearLateCount");
            return (Criteria) this;
        }

        public Criteria andYearLateCountNotIn(List<Integer> values) {
            addCriterion("year_late_count not in", values, "yearLateCount");
            return (Criteria) this;
        }

        public Criteria andYearLateCountBetween(Integer value1, Integer value2) {
            addCriterion("year_late_count between", value1, value2, "yearLateCount");
            return (Criteria) this;
        }

        public Criteria andYearLateCountNotBetween(Integer value1, Integer value2) {
            addCriterion("year_late_count not between", value1, value2, "yearLateCount");
            return (Criteria) this;
        }

        public Criteria andYearAbsentCountIsNull() {
            addCriterion("year_absent_count is null");
            return (Criteria) this;
        }

        public Criteria andYearAbsentCountIsNotNull() {
            addCriterion("year_absent_count is not null");
            return (Criteria) this;
        }

        public Criteria andYearAbsentCountEqualTo(Integer value) {
            addCriterion("year_absent_count =", value, "yearAbsentCount");
            return (Criteria) this;
        }

        public Criteria andYearAbsentCountNotEqualTo(Integer value) {
            addCriterion("year_absent_count <>", value, "yearAbsentCount");
            return (Criteria) this;
        }

        public Criteria andYearAbsentCountGreaterThan(Integer value) {
            addCriterion("year_absent_count >", value, "yearAbsentCount");
            return (Criteria) this;
        }

        public Criteria andYearAbsentCountGreaterThanOrEqualTo(Integer value) {
            addCriterion("year_absent_count >=", value, "yearAbsentCount");
            return (Criteria) this;
        }

        public Criteria andYearAbsentCountLessThan(Integer value) {
            addCriterion("year_absent_count <", value, "yearAbsentCount");
            return (Criteria) this;
        }

        public Criteria andYearAbsentCountLessThanOrEqualTo(Integer value) {
            addCriterion("year_absent_count <=", value, "yearAbsentCount");
            return (Criteria) this;
        }

        public Criteria andYearAbsentCountIn(List<Integer> values) {
            addCriterion("year_absent_count in", values, "yearAbsentCount");
            return (Criteria) this;
        }

        public Criteria andYearAbsentCountNotIn(List<Integer> values) {
            addCriterion("year_absent_count not in", values, "yearAbsentCount");
            return (Criteria) this;
        }

        public Criteria andYearAbsentCountBetween(Integer value1, Integer value2) {
            addCriterion("year_absent_count between", value1, value2, "yearAbsentCount");
            return (Criteria) this;
        }

        public Criteria andYearAbsentCountNotBetween(Integer value1, Integer value2) {
            addCriterion("year_absent_count not between", value1, value2, "yearAbsentCount");
            return (Criteria) this;
        }

        public Criteria andYearLeaveEarlyCountIsNull() {
            addCriterion("year_leave_early_count is null");
            return (Criteria) this;
        }

        public Criteria andYearLeaveEarlyCountIsNotNull() {
            addCriterion("year_leave_early_count is not null");
            return (Criteria) this;
        }

        public Criteria andYearLeaveEarlyCountEqualTo(Integer value) {
            addCriterion("year_leave_early_count =", value, "yearLeaveEarlyCount");
            return (Criteria) this;
        }

        public Criteria andYearLeaveEarlyCountNotEqualTo(Integer value) {
            addCriterion("year_leave_early_count <>", value, "yearLeaveEarlyCount");
            return (Criteria) this;
        }

        public Criteria andYearLeaveEarlyCountGreaterThan(Integer value) {
            addCriterion("year_leave_early_count >", value, "yearLeaveEarlyCount");
            return (Criteria) this;
        }

        public Criteria andYearLeaveEarlyCountGreaterThanOrEqualTo(Integer value) {
            addCriterion("year_leave_early_count >=", value, "yearLeaveEarlyCount");
            return (Criteria) this;
        }

        public Criteria andYearLeaveEarlyCountLessThan(Integer value) {
            addCriterion("year_leave_early_count <", value, "yearLeaveEarlyCount");
            return (Criteria) this;
        }

        public Criteria andYearLeaveEarlyCountLessThanOrEqualTo(Integer value) {
            addCriterion("year_leave_early_count <=", value, "yearLeaveEarlyCount");
            return (Criteria) this;
        }

        public Criteria andYearLeaveEarlyCountIn(List<Integer> values) {
            addCriterion("year_leave_early_count in", values, "yearLeaveEarlyCount");
            return (Criteria) this;
        }

        public Criteria andYearLeaveEarlyCountNotIn(List<Integer> values) {
            addCriterion("year_leave_early_count not in", values, "yearLeaveEarlyCount");
            return (Criteria) this;
        }

        public Criteria andYearLeaveEarlyCountBetween(Integer value1, Integer value2) {
            addCriterion("year_leave_early_count between", value1, value2, "yearLeaveEarlyCount");
            return (Criteria) this;
        }

        public Criteria andYearLeaveEarlyCountNotBetween(Integer value1, Integer value2) {
            addCriterion("year_leave_early_count not between", value1, value2, "yearLeaveEarlyCount");
            return (Criteria) this;
        }

        public Criteria andYearOvertimeNomalIsNull() {
            addCriterion("year_overtime_nomal is null");
            return (Criteria) this;
        }

        public Criteria andYearOvertimeNomalIsNotNull() {
            addCriterion("year_overtime_nomal is not null");
            return (Criteria) this;
        }

        public Criteria andYearOvertimeNomalEqualTo(Float value) {
            addCriterion("year_overtime_nomal =", value, "yearOvertimeNomal");
            return (Criteria) this;
        }

        public Criteria andYearOvertimeNomalNotEqualTo(Float value) {
            addCriterion("year_overtime_nomal <>", value, "yearOvertimeNomal");
            return (Criteria) this;
        }

        public Criteria andYearOvertimeNomalGreaterThan(Float value) {
            addCriterion("year_overtime_nomal >", value, "yearOvertimeNomal");
            return (Criteria) this;
        }

        public Criteria andYearOvertimeNomalGreaterThanOrEqualTo(Float value) {
            addCriterion("year_overtime_nomal >=", value, "yearOvertimeNomal");
            return (Criteria) this;
        }

        public Criteria andYearOvertimeNomalLessThan(Float value) {
            addCriterion("year_overtime_nomal <", value, "yearOvertimeNomal");
            return (Criteria) this;
        }

        public Criteria andYearOvertimeNomalLessThanOrEqualTo(Float value) {
            addCriterion("year_overtime_nomal <=", value, "yearOvertimeNomal");
            return (Criteria) this;
        }

        public Criteria andYearOvertimeNomalIn(List<Float> values) {
            addCriterion("year_overtime_nomal in", values, "yearOvertimeNomal");
            return (Criteria) this;
        }

        public Criteria andYearOvertimeNomalNotIn(List<Float> values) {
            addCriterion("year_overtime_nomal not in", values, "yearOvertimeNomal");
            return (Criteria) this;
        }

        public Criteria andYearOvertimeNomalBetween(Float value1, Float value2) {
            addCriterion("year_overtime_nomal between", value1, value2, "yearOvertimeNomal");
            return (Criteria) this;
        }

        public Criteria andYearOvertimeNomalNotBetween(Float value1, Float value2) {
            addCriterion("year_overtime_nomal not between", value1, value2, "yearOvertimeNomal");
            return (Criteria) this;
        }

        public Criteria andYearOvertimeWeekendIsNull() {
            addCriterion("year_overtime_weekend is null");
            return (Criteria) this;
        }

        public Criteria andYearOvertimeWeekendIsNotNull() {
            addCriterion("year_overtime_weekend is not null");
            return (Criteria) this;
        }

        public Criteria andYearOvertimeWeekendEqualTo(Float value) {
            addCriterion("year_overtime_weekend =", value, "yearOvertimeWeekend");
            return (Criteria) this;
        }

        public Criteria andYearOvertimeWeekendNotEqualTo(Float value) {
            addCriterion("year_overtime_weekend <>", value, "yearOvertimeWeekend");
            return (Criteria) this;
        }

        public Criteria andYearOvertimeWeekendGreaterThan(Float value) {
            addCriterion("year_overtime_weekend >", value, "yearOvertimeWeekend");
            return (Criteria) this;
        }

        public Criteria andYearOvertimeWeekendGreaterThanOrEqualTo(Float value) {
            addCriterion("year_overtime_weekend >=", value, "yearOvertimeWeekend");
            return (Criteria) this;
        }

        public Criteria andYearOvertimeWeekendLessThan(Float value) {
            addCriterion("year_overtime_weekend <", value, "yearOvertimeWeekend");
            return (Criteria) this;
        }

        public Criteria andYearOvertimeWeekendLessThanOrEqualTo(Float value) {
            addCriterion("year_overtime_weekend <=", value, "yearOvertimeWeekend");
            return (Criteria) this;
        }

        public Criteria andYearOvertimeWeekendIn(List<Float> values) {
            addCriterion("year_overtime_weekend in", values, "yearOvertimeWeekend");
            return (Criteria) this;
        }

        public Criteria andYearOvertimeWeekendNotIn(List<Float> values) {
            addCriterion("year_overtime_weekend not in", values, "yearOvertimeWeekend");
            return (Criteria) this;
        }

        public Criteria andYearOvertimeWeekendBetween(Float value1, Float value2) {
            addCriterion("year_overtime_weekend between", value1, value2, "yearOvertimeWeekend");
            return (Criteria) this;
        }

        public Criteria andYearOvertimeWeekendNotBetween(Float value1, Float value2) {
            addCriterion("year_overtime_weekend not between", value1, value2, "yearOvertimeWeekend");
            return (Criteria) this;
        }

        public Criteria andYearOvertimeHolidayIsNull() {
            addCriterion("year_overtime_holiday is null");
            return (Criteria) this;
        }

        public Criteria andYearOvertimeHolidayIsNotNull() {
            addCriterion("year_overtime_holiday is not null");
            return (Criteria) this;
        }

        public Criteria andYearOvertimeHolidayEqualTo(Float value) {
            addCriterion("year_overtime_holiday =", value, "yearOvertimeHoliday");
            return (Criteria) this;
        }

        public Criteria andYearOvertimeHolidayNotEqualTo(Float value) {
            addCriterion("year_overtime_holiday <>", value, "yearOvertimeHoliday");
            return (Criteria) this;
        }

        public Criteria andYearOvertimeHolidayGreaterThan(Float value) {
            addCriterion("year_overtime_holiday >", value, "yearOvertimeHoliday");
            return (Criteria) this;
        }

        public Criteria andYearOvertimeHolidayGreaterThanOrEqualTo(Float value) {
            addCriterion("year_overtime_holiday >=", value, "yearOvertimeHoliday");
            return (Criteria) this;
        }

        public Criteria andYearOvertimeHolidayLessThan(Float value) {
            addCriterion("year_overtime_holiday <", value, "yearOvertimeHoliday");
            return (Criteria) this;
        }

        public Criteria andYearOvertimeHolidayLessThanOrEqualTo(Float value) {
            addCriterion("year_overtime_holiday <=", value, "yearOvertimeHoliday");
            return (Criteria) this;
        }

        public Criteria andYearOvertimeHolidayIn(List<Float> values) {
            addCriterion("year_overtime_holiday in", values, "yearOvertimeHoliday");
            return (Criteria) this;
        }

        public Criteria andYearOvertimeHolidayNotIn(List<Float> values) {
            addCriterion("year_overtime_holiday not in", values, "yearOvertimeHoliday");
            return (Criteria) this;
        }

        public Criteria andYearOvertimeHolidayBetween(Float value1, Float value2) {
            addCriterion("year_overtime_holiday between", value1, value2, "yearOvertimeHoliday");
            return (Criteria) this;
        }

        public Criteria andYearOvertimeHolidayNotBetween(Float value1, Float value2) {
            addCriterion("year_overtime_holiday not between", value1, value2, "yearOvertimeHoliday");
            return (Criteria) this;
        }

        public Criteria andYearRestYearBeginIsNull() {
            addCriterion("year_rest_year_begin is null");
            return (Criteria) this;
        }

        public Criteria andYearRestYearBeginIsNotNull() {
            addCriterion("year_rest_year_begin is not null");
            return (Criteria) this;
        }

        public Criteria andYearRestYearBeginEqualTo(Date value) {
            addCriterionForJDBCDate("year_rest_year_begin =", value, "yearRestYearBegin");
            return (Criteria) this;
        }

        public Criteria andYearRestYearBeginNotEqualTo(Date value) {
            addCriterionForJDBCDate("year_rest_year_begin <>", value, "yearRestYearBegin");
            return (Criteria) this;
        }

        public Criteria andYearRestYearBeginGreaterThan(Date value) {
            addCriterionForJDBCDate("year_rest_year_begin >", value, "yearRestYearBegin");
            return (Criteria) this;
        }

        public Criteria andYearRestYearBeginGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("year_rest_year_begin >=", value, "yearRestYearBegin");
            return (Criteria) this;
        }

        public Criteria andYearRestYearBeginLessThan(Date value) {
            addCriterionForJDBCDate("year_rest_year_begin <", value, "yearRestYearBegin");
            return (Criteria) this;
        }

        public Criteria andYearRestYearBeginLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("year_rest_year_begin <=", value, "yearRestYearBegin");
            return (Criteria) this;
        }

        public Criteria andYearRestYearBeginIn(List<Date> values) {
            addCriterionForJDBCDate("year_rest_year_begin in", values, "yearRestYearBegin");
            return (Criteria) this;
        }

        public Criteria andYearRestYearBeginNotIn(List<Date> values) {
            addCriterionForJDBCDate("year_rest_year_begin not in", values, "yearRestYearBegin");
            return (Criteria) this;
        }

        public Criteria andYearRestYearBeginBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("year_rest_year_begin between", value1, value2, "yearRestYearBegin");
            return (Criteria) this;
        }

        public Criteria andYearRestYearBeginNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("year_rest_year_begin not between", value1, value2, "yearRestYearBegin");
            return (Criteria) this;
        }

        public Criteria andYearRestYearAllIsNull() {
            addCriterion("year_rest_year_all is null");
            return (Criteria) this;
        }

        public Criteria andYearRestYearAllIsNotNull() {
            addCriterion("year_rest_year_all is not null");
            return (Criteria) this;
        }

        public Criteria andYearRestYearAllEqualTo(Float value) {
            addCriterion("year_rest_year_all =", value, "yearRestYearAll");
            return (Criteria) this;
        }

        public Criteria andYearRestYearAllNotEqualTo(Float value) {
            addCriterion("year_rest_year_all <>", value, "yearRestYearAll");
            return (Criteria) this;
        }

        public Criteria andYearRestYearAllGreaterThan(Float value) {
            addCriterion("year_rest_year_all >", value, "yearRestYearAll");
            return (Criteria) this;
        }

        public Criteria andYearRestYearAllGreaterThanOrEqualTo(Float value) {
            addCriterion("year_rest_year_all >=", value, "yearRestYearAll");
            return (Criteria) this;
        }

        public Criteria andYearRestYearAllLessThan(Float value) {
            addCriterion("year_rest_year_all <", value, "yearRestYearAll");
            return (Criteria) this;
        }

        public Criteria andYearRestYearAllLessThanOrEqualTo(Float value) {
            addCriterion("year_rest_year_all <=", value, "yearRestYearAll");
            return (Criteria) this;
        }

        public Criteria andYearRestYearAllIn(List<Float> values) {
            addCriterion("year_rest_year_all in", values, "yearRestYearAll");
            return (Criteria) this;
        }

        public Criteria andYearRestYearAllNotIn(List<Float> values) {
            addCriterion("year_rest_year_all not in", values, "yearRestYearAll");
            return (Criteria) this;
        }

        public Criteria andYearRestYearAllBetween(Float value1, Float value2) {
            addCriterion("year_rest_year_all between", value1, value2, "yearRestYearAll");
            return (Criteria) this;
        }

        public Criteria andYearRestYearAllNotBetween(Float value1, Float value2) {
            addCriterion("year_rest_year_all not between", value1, value2, "yearRestYearAll");
            return (Criteria) this;
        }

        public Criteria andYearRestYearUsedIsNull() {
            addCriterion("year_rest_year_used is null");
            return (Criteria) this;
        }

        public Criteria andYearRestYearUsedIsNotNull() {
            addCriterion("year_rest_year_used is not null");
            return (Criteria) this;
        }

        public Criteria andYearRestYearUsedEqualTo(Float value) {
            addCriterion("year_rest_year_used =", value, "yearRestYearUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestYearUsedNotEqualTo(Float value) {
            addCriterion("year_rest_year_used <>", value, "yearRestYearUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestYearUsedGreaterThan(Float value) {
            addCriterion("year_rest_year_used >", value, "yearRestYearUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestYearUsedGreaterThanOrEqualTo(Float value) {
            addCriterion("year_rest_year_used >=", value, "yearRestYearUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestYearUsedLessThan(Float value) {
            addCriterion("year_rest_year_used <", value, "yearRestYearUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestYearUsedLessThanOrEqualTo(Float value) {
            addCriterion("year_rest_year_used <=", value, "yearRestYearUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestYearUsedIn(List<Float> values) {
            addCriterion("year_rest_year_used in", values, "yearRestYearUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestYearUsedNotIn(List<Float> values) {
            addCriterion("year_rest_year_used not in", values, "yearRestYearUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestYearUsedBetween(Float value1, Float value2) {
            addCriterion("year_rest_year_used between", value1, value2, "yearRestYearUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestYearUsedNotBetween(Float value1, Float value2) {
            addCriterion("year_rest_year_used not between", value1, value2, "yearRestYearUsed");
            return (Criteria) this;
        }

        public Criteria andRestYearRemainIsNull() {
            addCriterion("rest_year_remain is null");
            return (Criteria) this;
        }

        public Criteria andRestYearRemainIsNotNull() {
            addCriterion("rest_year_remain is not null");
            return (Criteria) this;
        }

        public Criteria andRestYearRemainEqualTo(Float value) {
            addCriterion("rest_year_remain =", value, "restYearRemain");
            return (Criteria) this;
        }

        public Criteria andRestYearRemainNotEqualTo(Float value) {
            addCriterion("rest_year_remain <>", value, "restYearRemain");
            return (Criteria) this;
        }

        public Criteria andRestYearRemainGreaterThan(Float value) {
            addCriterion("rest_year_remain >", value, "restYearRemain");
            return (Criteria) this;
        }

        public Criteria andRestYearRemainGreaterThanOrEqualTo(Float value) {
            addCriterion("rest_year_remain >=", value, "restYearRemain");
            return (Criteria) this;
        }

        public Criteria andRestYearRemainLessThan(Float value) {
            addCriterion("rest_year_remain <", value, "restYearRemain");
            return (Criteria) this;
        }

        public Criteria andRestYearRemainLessThanOrEqualTo(Float value) {
            addCriterion("rest_year_remain <=", value, "restYearRemain");
            return (Criteria) this;
        }

        public Criteria andRestYearRemainIn(List<Float> values) {
            addCriterion("rest_year_remain in", values, "restYearRemain");
            return (Criteria) this;
        }

        public Criteria andRestYearRemainNotIn(List<Float> values) {
            addCriterion("rest_year_remain not in", values, "restYearRemain");
            return (Criteria) this;
        }

        public Criteria andRestYearRemainBetween(Float value1, Float value2) {
            addCriterion("rest_year_remain between", value1, value2, "restYearRemain");
            return (Criteria) this;
        }

        public Criteria andRestYearRemainNotBetween(Float value1, Float value2) {
            addCriterion("rest_year_remain not between", value1, value2, "restYearRemain");
            return (Criteria) this;
        }

        public Criteria andYearRestLastYearUsedIsNull() {
            addCriterion("year_rest_last_year_used is null");
            return (Criteria) this;
        }

        public Criteria andYearRestLastYearUsedIsNotNull() {
            addCriterion("year_rest_last_year_used is not null");
            return (Criteria) this;
        }

        public Criteria andYearRestLastYearUsedEqualTo(Float value) {
            addCriterion("year_rest_last_year_used =", value, "yearRestLastYearUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestLastYearUsedNotEqualTo(Float value) {
            addCriterion("year_rest_last_year_used <>", value, "yearRestLastYearUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestLastYearUsedGreaterThan(Float value) {
            addCriterion("year_rest_last_year_used >", value, "yearRestLastYearUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestLastYearUsedGreaterThanOrEqualTo(Float value) {
            addCriterion("year_rest_last_year_used >=", value, "yearRestLastYearUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestLastYearUsedLessThan(Float value) {
            addCriterion("year_rest_last_year_used <", value, "yearRestLastYearUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestLastYearUsedLessThanOrEqualTo(Float value) {
            addCriterion("year_rest_last_year_used <=", value, "yearRestLastYearUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestLastYearUsedIn(List<Float> values) {
            addCriterion("year_rest_last_year_used in", values, "yearRestLastYearUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestLastYearUsedNotIn(List<Float> values) {
            addCriterion("year_rest_last_year_used not in", values, "yearRestLastYearUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestLastYearUsedBetween(Float value1, Float value2) {
            addCriterion("year_rest_last_year_used between", value1, value2, "yearRestLastYearUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestLastYearUsedNotBetween(Float value1, Float value2) {
            addCriterion("year_rest_last_year_used not between", value1, value2, "yearRestLastYearUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestLastYearAllIsNull() {
            addCriterion("year_rest_last_year_all is null");
            return (Criteria) this;
        }

        public Criteria andYearRestLastYearAllIsNotNull() {
            addCriterion("year_rest_last_year_all is not null");
            return (Criteria) this;
        }

        public Criteria andYearRestLastYearAllEqualTo(Float value) {
            addCriterion("year_rest_last_year_all =", value, "yearRestLastYearAll");
            return (Criteria) this;
        }

        public Criteria andYearRestLastYearAllNotEqualTo(Float value) {
            addCriterion("year_rest_last_year_all <>", value, "yearRestLastYearAll");
            return (Criteria) this;
        }

        public Criteria andYearRestLastYearAllGreaterThan(Float value) {
            addCriterion("year_rest_last_year_all >", value, "yearRestLastYearAll");
            return (Criteria) this;
        }

        public Criteria andYearRestLastYearAllGreaterThanOrEqualTo(Float value) {
            addCriterion("year_rest_last_year_all >=", value, "yearRestLastYearAll");
            return (Criteria) this;
        }

        public Criteria andYearRestLastYearAllLessThan(Float value) {
            addCriterion("year_rest_last_year_all <", value, "yearRestLastYearAll");
            return (Criteria) this;
        }

        public Criteria andYearRestLastYearAllLessThanOrEqualTo(Float value) {
            addCriterion("year_rest_last_year_all <=", value, "yearRestLastYearAll");
            return (Criteria) this;
        }

        public Criteria andYearRestLastYearAllIn(List<Float> values) {
            addCriterion("year_rest_last_year_all in", values, "yearRestLastYearAll");
            return (Criteria) this;
        }

        public Criteria andYearRestLastYearAllNotIn(List<Float> values) {
            addCriterion("year_rest_last_year_all not in", values, "yearRestLastYearAll");
            return (Criteria) this;
        }

        public Criteria andYearRestLastYearAllBetween(Float value1, Float value2) {
            addCriterion("year_rest_last_year_all between", value1, value2, "yearRestLastYearAll");
            return (Criteria) this;
        }

        public Criteria andYearRestLastYearAllNotBetween(Float value1, Float value2) {
            addCriterion("year_rest_last_year_all not between", value1, value2, "yearRestLastYearAll");
            return (Criteria) this;
        }

        public Criteria andYearRestTuneUsedIsNull() {
            addCriterion("year_rest_tune_used is null");
            return (Criteria) this;
        }

        public Criteria andYearRestTuneUsedIsNotNull() {
            addCriterion("year_rest_tune_used is not null");
            return (Criteria) this;
        }

        public Criteria andYearRestTuneUsedEqualTo(Float value) {
            addCriterion("year_rest_tune_used =", value, "yearRestTuneUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestTuneUsedNotEqualTo(Float value) {
            addCriterion("year_rest_tune_used <>", value, "yearRestTuneUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestTuneUsedGreaterThan(Float value) {
            addCriterion("year_rest_tune_used >", value, "yearRestTuneUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestTuneUsedGreaterThanOrEqualTo(Float value) {
            addCriterion("year_rest_tune_used >=", value, "yearRestTuneUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestTuneUsedLessThan(Float value) {
            addCriterion("year_rest_tune_used <", value, "yearRestTuneUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestTuneUsedLessThanOrEqualTo(Float value) {
            addCriterion("year_rest_tune_used <=", value, "yearRestTuneUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestTuneUsedIn(List<Float> values) {
            addCriterion("year_rest_tune_used in", values, "yearRestTuneUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestTuneUsedNotIn(List<Float> values) {
            addCriterion("year_rest_tune_used not in", values, "yearRestTuneUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestTuneUsedBetween(Float value1, Float value2) {
            addCriterion("year_rest_tune_used between", value1, value2, "yearRestTuneUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestTuneUsedNotBetween(Float value1, Float value2) {
            addCriterion("year_rest_tune_used not between", value1, value2, "yearRestTuneUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestTuneRemainIsNull() {
            addCriterion("year_rest_tune_remain is null");
            return (Criteria) this;
        }

        public Criteria andYearRestTuneRemainIsNotNull() {
            addCriterion("year_rest_tune_remain is not null");
            return (Criteria) this;
        }

        public Criteria andYearRestTuneRemainEqualTo(Float value) {
            addCriterion("year_rest_tune_remain =", value, "yearRestTuneRemain");
            return (Criteria) this;
        }

        public Criteria andYearRestTuneRemainNotEqualTo(Float value) {
            addCriterion("year_rest_tune_remain <>", value, "yearRestTuneRemain");
            return (Criteria) this;
        }

        public Criteria andYearRestTuneRemainGreaterThan(Float value) {
            addCriterion("year_rest_tune_remain >", value, "yearRestTuneRemain");
            return (Criteria) this;
        }

        public Criteria andYearRestTuneRemainGreaterThanOrEqualTo(Float value) {
            addCriterion("year_rest_tune_remain >=", value, "yearRestTuneRemain");
            return (Criteria) this;
        }

        public Criteria andYearRestTuneRemainLessThan(Float value) {
            addCriterion("year_rest_tune_remain <", value, "yearRestTuneRemain");
            return (Criteria) this;
        }

        public Criteria andYearRestTuneRemainLessThanOrEqualTo(Float value) {
            addCriterion("year_rest_tune_remain <=", value, "yearRestTuneRemain");
            return (Criteria) this;
        }

        public Criteria andYearRestTuneRemainIn(List<Float> values) {
            addCriterion("year_rest_tune_remain in", values, "yearRestTuneRemain");
            return (Criteria) this;
        }

        public Criteria andYearRestTuneRemainNotIn(List<Float> values) {
            addCriterion("year_rest_tune_remain not in", values, "yearRestTuneRemain");
            return (Criteria) this;
        }

        public Criteria andYearRestTuneRemainBetween(Float value1, Float value2) {
            addCriterion("year_rest_tune_remain between", value1, value2, "yearRestTuneRemain");
            return (Criteria) this;
        }

        public Criteria andYearRestTuneRemainNotBetween(Float value1, Float value2) {
            addCriterion("year_rest_tune_remain not between", value1, value2, "yearRestTuneRemain");
            return (Criteria) this;
        }

        public Criteria andYearRestBornIsNull() {
            addCriterion("year_rest_born is null");
            return (Criteria) this;
        }

        public Criteria andYearRestBornIsNotNull() {
            addCriterion("year_rest_born is not null");
            return (Criteria) this;
        }

        public Criteria andYearRestBornEqualTo(Integer value) {
            addCriterion("year_rest_born =", value, "yearRestBorn");
            return (Criteria) this;
        }

        public Criteria andYearRestBornNotEqualTo(Integer value) {
            addCriterion("year_rest_born <>", value, "yearRestBorn");
            return (Criteria) this;
        }

        public Criteria andYearRestBornGreaterThan(Integer value) {
            addCriterion("year_rest_born >", value, "yearRestBorn");
            return (Criteria) this;
        }

        public Criteria andYearRestBornGreaterThanOrEqualTo(Integer value) {
            addCriterion("year_rest_born >=", value, "yearRestBorn");
            return (Criteria) this;
        }

        public Criteria andYearRestBornLessThan(Integer value) {
            addCriterion("year_rest_born <", value, "yearRestBorn");
            return (Criteria) this;
        }

        public Criteria andYearRestBornLessThanOrEqualTo(Integer value) {
            addCriterion("year_rest_born <=", value, "yearRestBorn");
            return (Criteria) this;
        }

        public Criteria andYearRestBornIn(List<Integer> values) {
            addCriterion("year_rest_born in", values, "yearRestBorn");
            return (Criteria) this;
        }

        public Criteria andYearRestBornNotIn(List<Integer> values) {
            addCriterion("year_rest_born not in", values, "yearRestBorn");
            return (Criteria) this;
        }

        public Criteria andYearRestBornBetween(Integer value1, Integer value2) {
            addCriterion("year_rest_born between", value1, value2, "yearRestBorn");
            return (Criteria) this;
        }

        public Criteria andYearRestBornNotBetween(Integer value1, Integer value2) {
            addCriterion("year_rest_born not between", value1, value2, "yearRestBorn");
            return (Criteria) this;
        }

        public Criteria andYearRestBornUsedIsNull() {
            addCriterion("year_rest_born_used is null");
            return (Criteria) this;
        }

        public Criteria andYearRestBornUsedIsNotNull() {
            addCriterion("year_rest_born_used is not null");
            return (Criteria) this;
        }

        public Criteria andYearRestBornUsedEqualTo(Integer value) {
            addCriterion("year_rest_born_used =", value, "yearRestBornUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestBornUsedNotEqualTo(Integer value) {
            addCriterion("year_rest_born_used <>", value, "yearRestBornUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestBornUsedGreaterThan(Integer value) {
            addCriterion("year_rest_born_used >", value, "yearRestBornUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestBornUsedGreaterThanOrEqualTo(Integer value) {
            addCriterion("year_rest_born_used >=", value, "yearRestBornUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestBornUsedLessThan(Integer value) {
            addCriterion("year_rest_born_used <", value, "yearRestBornUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestBornUsedLessThanOrEqualTo(Integer value) {
            addCriterion("year_rest_born_used <=", value, "yearRestBornUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestBornUsedIn(List<Integer> values) {
            addCriterion("year_rest_born_used in", values, "yearRestBornUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestBornUsedNotIn(List<Integer> values) {
            addCriterion("year_rest_born_used not in", values, "yearRestBornUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestBornUsedBetween(Integer value1, Integer value2) {
            addCriterion("year_rest_born_used between", value1, value2, "yearRestBornUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestBornUsedNotBetween(Integer value1, Integer value2) {
            addCriterion("year_rest_born_used not between", value1, value2, "yearRestBornUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestBornRemainIsNull() {
            addCriterion("year_rest_born_remain is null");
            return (Criteria) this;
        }

        public Criteria andYearRestBornRemainIsNotNull() {
            addCriterion("year_rest_born_remain is not null");
            return (Criteria) this;
        }

        public Criteria andYearRestBornRemainEqualTo(Integer value) {
            addCriterion("year_rest_born_remain =", value, "yearRestBornRemain");
            return (Criteria) this;
        }

        public Criteria andYearRestBornRemainNotEqualTo(Integer value) {
            addCriterion("year_rest_born_remain <>", value, "yearRestBornRemain");
            return (Criteria) this;
        }

        public Criteria andYearRestBornRemainGreaterThan(Integer value) {
            addCriterion("year_rest_born_remain >", value, "yearRestBornRemain");
            return (Criteria) this;
        }

        public Criteria andYearRestBornRemainGreaterThanOrEqualTo(Integer value) {
            addCriterion("year_rest_born_remain >=", value, "yearRestBornRemain");
            return (Criteria) this;
        }

        public Criteria andYearRestBornRemainLessThan(Integer value) {
            addCriterion("year_rest_born_remain <", value, "yearRestBornRemain");
            return (Criteria) this;
        }

        public Criteria andYearRestBornRemainLessThanOrEqualTo(Integer value) {
            addCriterion("year_rest_born_remain <=", value, "yearRestBornRemain");
            return (Criteria) this;
        }

        public Criteria andYearRestBornRemainIn(List<Integer> values) {
            addCriterion("year_rest_born_remain in", values, "yearRestBornRemain");
            return (Criteria) this;
        }

        public Criteria andYearRestBornRemainNotIn(List<Integer> values) {
            addCriterion("year_rest_born_remain not in", values, "yearRestBornRemain");
            return (Criteria) this;
        }

        public Criteria andYearRestBornRemainBetween(Integer value1, Integer value2) {
            addCriterion("year_rest_born_remain between", value1, value2, "yearRestBornRemain");
            return (Criteria) this;
        }

        public Criteria andYearRestBornRemainNotBetween(Integer value1, Integer value2) {
            addCriterion("year_rest_born_remain not between", value1, value2, "yearRestBornRemain");
            return (Criteria) this;
        }

        public Criteria andYearRestCheckUsedIsNull() {
            addCriterion("year_rest_check_used is null");
            return (Criteria) this;
        }

        public Criteria andYearRestCheckUsedIsNotNull() {
            addCriterion("year_rest_check_used is not null");
            return (Criteria) this;
        }

        public Criteria andYearRestCheckUsedEqualTo(Float value) {
            addCriterion("year_rest_check_used =", value, "yearRestCheckUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestCheckUsedNotEqualTo(Float value) {
            addCriterion("year_rest_check_used <>", value, "yearRestCheckUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestCheckUsedGreaterThan(Float value) {
            addCriterion("year_rest_check_used >", value, "yearRestCheckUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestCheckUsedGreaterThanOrEqualTo(Float value) {
            addCriterion("year_rest_check_used >=", value, "yearRestCheckUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestCheckUsedLessThan(Float value) {
            addCriterion("year_rest_check_used <", value, "yearRestCheckUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestCheckUsedLessThanOrEqualTo(Float value) {
            addCriterion("year_rest_check_used <=", value, "yearRestCheckUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestCheckUsedIn(List<Float> values) {
            addCriterion("year_rest_check_used in", values, "yearRestCheckUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestCheckUsedNotIn(List<Float> values) {
            addCriterion("year_rest_check_used not in", values, "yearRestCheckUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestCheckUsedBetween(Float value1, Float value2) {
            addCriterion("year_rest_check_used between", value1, value2, "yearRestCheckUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestCheckUsedNotBetween(Float value1, Float value2) {
            addCriterion("year_rest_check_used not between", value1, value2, "yearRestCheckUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestDieUsedIsNull() {
            addCriterion("year_rest_die_used is null");
            return (Criteria) this;
        }

        public Criteria andYearRestDieUsedIsNotNull() {
            addCriterion("year_rest_die_used is not null");
            return (Criteria) this;
        }

        public Criteria andYearRestDieUsedEqualTo(Integer value) {
            addCriterion("year_rest_die_used =", value, "yearRestDieUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestDieUsedNotEqualTo(Integer value) {
            addCriterion("year_rest_die_used <>", value, "yearRestDieUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestDieUsedGreaterThan(Integer value) {
            addCriterion("year_rest_die_used >", value, "yearRestDieUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestDieUsedGreaterThanOrEqualTo(Integer value) {
            addCriterion("year_rest_die_used >=", value, "yearRestDieUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestDieUsedLessThan(Integer value) {
            addCriterion("year_rest_die_used <", value, "yearRestDieUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestDieUsedLessThanOrEqualTo(Integer value) {
            addCriterion("year_rest_die_used <=", value, "yearRestDieUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestDieUsedIn(List<Integer> values) {
            addCriterion("year_rest_die_used in", values, "yearRestDieUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestDieUsedNotIn(List<Integer> values) {
            addCriterion("year_rest_die_used not in", values, "yearRestDieUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestDieUsedBetween(Integer value1, Integer value2) {
            addCriterion("year_rest_die_used between", value1, value2, "yearRestDieUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestDieUsedNotBetween(Integer value1, Integer value2) {
            addCriterion("year_rest_die_used not between", value1, value2, "yearRestDieUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestMarryUsedIsNull() {
            addCriterion("year_rest_marry_used is null");
            return (Criteria) this;
        }

        public Criteria andYearRestMarryUsedIsNotNull() {
            addCriterion("year_rest_marry_used is not null");
            return (Criteria) this;
        }

        public Criteria andYearRestMarryUsedEqualTo(Integer value) {
            addCriterion("year_rest_marry_used =", value, "yearRestMarryUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestMarryUsedNotEqualTo(Integer value) {
            addCriterion("year_rest_marry_used <>", value, "yearRestMarryUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestMarryUsedGreaterThan(Integer value) {
            addCriterion("year_rest_marry_used >", value, "yearRestMarryUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestMarryUsedGreaterThanOrEqualTo(Integer value) {
            addCriterion("year_rest_marry_used >=", value, "yearRestMarryUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestMarryUsedLessThan(Integer value) {
            addCriterion("year_rest_marry_used <", value, "yearRestMarryUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestMarryUsedLessThanOrEqualTo(Integer value) {
            addCriterion("year_rest_marry_used <=", value, "yearRestMarryUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestMarryUsedIn(List<Integer> values) {
            addCriterion("year_rest_marry_used in", values, "yearRestMarryUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestMarryUsedNotIn(List<Integer> values) {
            addCriterion("year_rest_marry_used not in", values, "yearRestMarryUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestMarryUsedBetween(Integer value1, Integer value2) {
            addCriterion("year_rest_marry_used between", value1, value2, "yearRestMarryUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestMarryUsedNotBetween(Integer value1, Integer value2) {
            addCriterion("year_rest_marry_used not between", value1, value2, "yearRestMarryUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestBornAttendUsedIsNull() {
            addCriterion("year_rest_born_attend_used is null");
            return (Criteria) this;
        }

        public Criteria andYearRestBornAttendUsedIsNotNull() {
            addCriterion("year_rest_born_attend_used is not null");
            return (Criteria) this;
        }

        public Criteria andYearRestBornAttendUsedEqualTo(Integer value) {
            addCriterion("year_rest_born_attend_used =", value, "yearRestBornAttendUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestBornAttendUsedNotEqualTo(Integer value) {
            addCriterion("year_rest_born_attend_used <>", value, "yearRestBornAttendUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestBornAttendUsedGreaterThan(Integer value) {
            addCriterion("year_rest_born_attend_used >", value, "yearRestBornAttendUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestBornAttendUsedGreaterThanOrEqualTo(Integer value) {
            addCriterion("year_rest_born_attend_used >=", value, "yearRestBornAttendUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestBornAttendUsedLessThan(Integer value) {
            addCriterion("year_rest_born_attend_used <", value, "yearRestBornAttendUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestBornAttendUsedLessThanOrEqualTo(Integer value) {
            addCriterion("year_rest_born_attend_used <=", value, "yearRestBornAttendUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestBornAttendUsedIn(List<Integer> values) {
            addCriterion("year_rest_born_attend_used in", values, "yearRestBornAttendUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestBornAttendUsedNotIn(List<Integer> values) {
            addCriterion("year_rest_born_attend_used not in", values, "yearRestBornAttendUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestBornAttendUsedBetween(Integer value1, Integer value2) {
            addCriterion("year_rest_born_attend_used between", value1, value2, "yearRestBornAttendUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestBornAttendUsedNotBetween(Integer value1, Integer value2) {
            addCriterion("year_rest_born_attend_used not between", value1, value2, "yearRestBornAttendUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestSuckleUsedIsNull() {
            addCriterion("year_rest_suckle_used is null");
            return (Criteria) this;
        }

        public Criteria andYearRestSuckleUsedIsNotNull() {
            addCriterion("year_rest_suckle_used is not null");
            return (Criteria) this;
        }

        public Criteria andYearRestSuckleUsedEqualTo(Float value) {
            addCriterion("year_rest_suckle_used =", value, "yearRestSuckleUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestSuckleUsedNotEqualTo(Float value) {
            addCriterion("year_rest_suckle_used <>", value, "yearRestSuckleUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestSuckleUsedGreaterThan(Float value) {
            addCriterion("year_rest_suckle_used >", value, "yearRestSuckleUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestSuckleUsedGreaterThanOrEqualTo(Float value) {
            addCriterion("year_rest_suckle_used >=", value, "yearRestSuckleUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestSuckleUsedLessThan(Float value) {
            addCriterion("year_rest_suckle_used <", value, "yearRestSuckleUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestSuckleUsedLessThanOrEqualTo(Float value) {
            addCriterion("year_rest_suckle_used <=", value, "yearRestSuckleUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestSuckleUsedIn(List<Float> values) {
            addCriterion("year_rest_suckle_used in", values, "yearRestSuckleUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestSuckleUsedNotIn(List<Float> values) {
            addCriterion("year_rest_suckle_used not in", values, "yearRestSuckleUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestSuckleUsedBetween(Float value1, Float value2) {
            addCriterion("year_rest_suckle_used between", value1, value2, "yearRestSuckleUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestSuckleUsedNotBetween(Float value1, Float value2) {
            addCriterion("year_rest_suckle_used not between", value1, value2, "yearRestSuckleUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestIllUsedIsNull() {
            addCriterion("year_rest_ill_used is null");
            return (Criteria) this;
        }

        public Criteria andYearRestIllUsedIsNotNull() {
            addCriterion("year_rest_ill_used is not null");
            return (Criteria) this;
        }

        public Criteria andYearRestIllUsedEqualTo(Float value) {
            addCriterion("year_rest_ill_used =", value, "yearRestIllUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestIllUsedNotEqualTo(Float value) {
            addCriterion("year_rest_ill_used <>", value, "yearRestIllUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestIllUsedGreaterThan(Float value) {
            addCriterion("year_rest_ill_used >", value, "yearRestIllUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestIllUsedGreaterThanOrEqualTo(Float value) {
            addCriterion("year_rest_ill_used >=", value, "yearRestIllUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestIllUsedLessThan(Float value) {
            addCriterion("year_rest_ill_used <", value, "yearRestIllUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestIllUsedLessThanOrEqualTo(Float value) {
            addCriterion("year_rest_ill_used <=", value, "yearRestIllUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestIllUsedIn(List<Float> values) {
            addCriterion("year_rest_ill_used in", values, "yearRestIllUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestIllUsedNotIn(List<Float> values) {
            addCriterion("year_rest_ill_used not in", values, "yearRestIllUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestIllUsedBetween(Float value1, Float value2) {
            addCriterion("year_rest_ill_used between", value1, value2, "yearRestIllUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestIllUsedNotBetween(Float value1, Float value2) {
            addCriterion("year_rest_ill_used not between", value1, value2, "yearRestIllUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestThingUsedIsNull() {
            addCriterion("year_rest_thing_used is null");
            return (Criteria) this;
        }

        public Criteria andYearRestThingUsedIsNotNull() {
            addCriterion("year_rest_thing_used is not null");
            return (Criteria) this;
        }

        public Criteria andYearRestThingUsedEqualTo(Float value) {
            addCriterion("year_rest_thing_used =", value, "yearRestThingUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestThingUsedNotEqualTo(Float value) {
            addCriterion("year_rest_thing_used <>", value, "yearRestThingUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestThingUsedGreaterThan(Float value) {
            addCriterion("year_rest_thing_used >", value, "yearRestThingUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestThingUsedGreaterThanOrEqualTo(Float value) {
            addCriterion("year_rest_thing_used >=", value, "yearRestThingUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestThingUsedLessThan(Float value) {
            addCriterion("year_rest_thing_used <", value, "yearRestThingUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestThingUsedLessThanOrEqualTo(Float value) {
            addCriterion("year_rest_thing_used <=", value, "yearRestThingUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestThingUsedIn(List<Float> values) {
            addCriterion("year_rest_thing_used in", values, "yearRestThingUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestThingUsedNotIn(List<Float> values) {
            addCriterion("year_rest_thing_used not in", values, "yearRestThingUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestThingUsedBetween(Float value1, Float value2) {
            addCriterion("year_rest_thing_used between", value1, value2, "yearRestThingUsed");
            return (Criteria) this;
        }

        public Criteria andYearRestThingUsedNotBetween(Float value1, Float value2) {
            addCriterion("year_rest_thing_used not between", value1, value2, "yearRestThingUsed");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}